選択オプションを複製するための私のコードは次のとおりです。
var clone = $('#saleTable tbody>tr#saleTR:last').clone(true);
clone.find("input").val('');
clone.insertAfter('#saleTable tbody>tr#saleTR:last');
ここに私のHTMLがあります:
<tr id="saleTR">
<td>
<input name="qty[]" type="text" size="5" />
</td>
<td>
<select name="description[]" onchange="showPrice(this.value)">
<option value="null">select Item sold</option>
<?php getSaleItem(); ?>
</select>
</td>
<td>
<span id="price"></span>
</td>
<td>
</td>
</tr>
私はajaxを使用して価格を表示しています:
function showPrice(str){
if (str.length==0){
document.getElementById("price").innerHTML="";
return;
}
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("price").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getPrice.php?q="+str,true);
xmlhttp.send();
}
は<tr>
問題なく複製されますが、最後に複製された選択オプションが選択または変更されると、最初の価格は対応する価格ではなく変化し続けるものです。つまり、選択オプションの変更に対応するインラインではなく、最初の元の価格が変化し続けます。 .
対応する価格を更新する特定の選択オプションが必要です。