NEW 버전 (없는 새로운 문제는 ...)jQuery 루프? 복제? 단순히 이유는 무엇입니까?
그래서, 나는 .click();
과 .html();
과 함께 "루프"문제가있어.
XML의 datas 검색 : OK
function afficher(NomPizz, Prix1, Prix2, Prix3) {//HERE IS MY CODE//});
화면에 인쇄 : 다른 사업부에 OK
$('#pricecontainer').show(); //Display my container and put values in with .html();
$('#prix1').html('SOLO 1P<p id="p1" style="line-height:10px;">' + Prix1.toFixed(2) + '</p>');
$('#prix2').html('MAXI 2P<p id="p2" style="line-height:10px;">' + Prix2.toFixed(2) + '</p>');
$('#prix3').html('SUPER 4P<p id="p3" style="line-height:10px;">' + Prix3.toFixed(2) + '</p>');
추가] 값을 클릭하면 : OK하지만 하지
을Everithing 작품 ... 한 번! 더 많은 시간을 클릭하면 그 값이 "복제"됩니다.
한 번 클릭하면 1 개의 항목이 추가됩니다.
내가 가지고 :
두 번 클릭 1 OK.
나는 3, 이전 하나 두 개 더있어!
세 번 클릭하십시오.
나는 6, 이전 세와 THRE 더있어!
기타 ... 등 ... 내가 내 function afficher();
에이 코드 을 넣어
해결책은 단 하나 내가 찾은 ... BAD 하나!
$("clickedItemId").click(function() {
var Figure = $(this).find('p').html();
totalArea.value += '+' + Figure;
var Screen = totalArea.value.replace(/'/g, ' ');
var result = eval(Screen);
totalArea.value = result;
var $newItem = "<span style='float:left'>1 " + NomPizz.toUpperCase() + "</span><span style='float:right'>" + Figure + "</span><br/>";
$('<div><div>').html($newItem).appendTo(RecapTick);
Display2.value = "TOTAL (EUR): " + totalArea.value;
$('#pricecontainer').hide();
});
그래서, 전체 코드 내 function afficher();
은 다음과 같습니다
function afficher(NomPizz, Prix1, Prix2, Prix3) {
var totalArea = document.getElementById('totalArea');
var Display2 = document.getElementById('Display2');
var RecapTick = document.getElementById('MidTiTx');
$('#pricecontainer').show();
$('#prix1').html('SOLO 1P<p id="p1" style="line-height:10px;">' + Prix1.toFixed(2) + '</p>');
$('#prix2').html('MAXI 2P<p id="p2" style="line-height:10px;">' + Prix2.toFixed(2) + '</p>');
$('#prix3').html('SUPER 4P<p id="p3" style="line-height:10px;">' + Prix3.toFixed(2) + '</p>');
//BUG HERRERRERERERERER
$("clickedItemId").click(function() {
var Figure = $(this).find('p').html();
totalArea.value += '+' + Figure;
var Screen = totalArea.value.replace(/'/g, ' ');
var result = eval(Screen);
totalArea.value = result;
var $newItem = "<span style='float:left'>1 " + NomPizz.toUpperCase() + "</span><span style='float:right'>" + Figure + "</span><br/>";
$('<div><div>').html($newItem).appendTo(RecapTick);
Display2.value = "TOTAL (EUR): " + totalArea.value;
$('#pricecontainer').hide();
});
};
PS 내가 여기 게시물의 이전 버전 (다른 코드와 같은 PB)을 라이브 :
제 프로는 다음과 같습니다.
[라이브 데모] [1]
편집 : [다운로드 소스] [2]
그것은 XML 파일에서 제품 목록을 검색하는 간단한 카트입니다. 이 부분은 작동합니다!
클릭 할이 제품은 아래의 목록에 추가,하지만 당신은 같은에 반복적으로 클릭하면 , 이들의 총 내가 박히 곳입니다 ... 추가되어야합니다!
tot = parseInt(jQuery(this).find('.prow').html());
하려면 :
나는 선 (62)을 변경하려고
tot = parseInt(jQuery(this).find('.prow').html()+1);
하지만 작동하지 않습니다 ... 나는 문제가 내가 사용하고 있다고 생각합니다. .click();과 onclick = "" 방법 ??? 아니면 "var"이라는 나쁜 이유로 사용 하시겠습니까?
제발 누군가 나를 밝혀주세요! 여기
내 jsCode입니다 :
function calculate(){ var tot = 0; jQuery(".totprice").each(function(e,b){ tot += parseInt(jQuery(this).text()); }); return jQuery("#amt").html("$"+tot); } function showprod(){ jQuery(".prod").each(function(e){ jQuery(this).delay(500*e).fadeIn('fast'); }); } function clearcart(){ jQuery("#clear").live('click',function(){ jQuery(".tetew").fadeIn(4000,function(){ jQuery(this).remove(); calculate(); }); }); } function delete_ajax(){ jQuery(".del").live('click',function(e){ var a = jQuery(this); var p = a.parent().parent().parent().parent().parent(); if(p){ p.fadeOut('slow',function(){ jQuery(this).remove(); calculate(); }); } }); } function addtocart(){ jQuery(".addtocart").click(function(e){ var getprod = jQuery(this).attr("prodid"); var getval = jQuery(this).attr("prodval"); jQuery("#msg").fadeIn('slow'); jQuery.ajax({ type:'GET', url:'db.xml', dataType:'xml', success: function(xml){ jQuery(xml).find('databases').each(function(){ jQuery(this).find('prod').each(function(e){ var db_id = jQuery(this).attr('id'); jQuery("#msg").fadeOut('slow'); if(getprod == db_id){ var cookies = 1; jQuery(".tetew").each(function(){ var _this = jQuery(this); var _store = _this.find('.pstore'); var ident = _this.find('.pqty'); if(getprod == ident.text()){ var tot = parseInt(jQuery(this).find('.prow').html()); //Put a +1 here won't work... jQuery(this).find('.prow').html(tot); var restot = parseInt(jQuery(this).find('.prow').text()) * parseInt(jQuery(this).find('.price').text()); jQuery(this).find('.totprice').html(restot); cookies = 0; return false; }else{ cookies = 1; } }); if(cookies == 1){ var results = "<div class='tetew'>"; results +="<table>"; results +="<tr>"; results +="<td class='pqty' style='display:none' valign='top'>" + jQuery(this).attr("id") + "</td>"; results +="<td class='img' valign='top'><img src='" + jQuery(this).attr('img') + "' width='40' height='40' /></td>"; results +="<td class='pstore' valign='top'>" + jQuery(this).text() + "</td>"; results +="<td class='prow' valign='top'>1</td>"; results +="<td class='price' valign='top'>" + jQuery(this).attr('price') + "</td>"; results +="<td class='totprice' valign='top'>" + jQuery(this).attr('price') + "</td>"; results +="<td valign='top'><a href='javascript:void(0)' class='del'>Delete</a></td>"; results +="</tr>"; results +="</table>"; results +="</div>"; } jQuery(".tetew:eq("+e+")").hide().fadeIn('fast'); jQuery("#addto").append(results); calculate(); return false; } }); }); } }); }); } function loadXMLdb() { $.ajax({ type: "GET", url: "db.xml", dataType: "xml", success: function(xml) { $(xml).find('prod').each(function() { var _Nom = jQuery(this).text(); var Col1 = jQuery(this).attr('id'); var Col2 = jQuery(this).attr('price'); var Col3 = $(this).find('grand').text(); $('<div class="prod" style="display:block;" onclick="addtocart();"></div>').html(_Nom + '<br /><img
SRC = "이미지/pizza.png">
Ajouter ') appendTo();. "vprod."}); } }); } jQuery(document).ready(function(){ showprod(); clearcart(); addtocart(); delete_ajax(); loadXMLdb(); });
[1] : http://bzez.0fees.net/examples/jCart/ [2] : http://bzez.0fees.net/examples/jCart/jCart.zip
안녕하세요 bZezz, 코드를 살펴보고 도움을 드리겠습니다. 더 적은 글을 쓰는 것이 좋습니다 :) js 코드가 너무 많이 커질 때가끔 혼란 스러울 때가 있습니다. – fedmich
안녕하세요! 첫째, 고마워요! 둘째, 더 적게 작성하려고 노력할 것입니다.) – bZezzz
지역 정보 http://bzez.0fees.net/examples/jCart/jCart.zip)를 확인하려면 – bZezzz