我有一个购买账单表格,我通过javascript添加行,并通过PHP从mysql数据库中检索值。
function addRow(dataTable) {
var table = document.getElementById("dataTable");
var rowCount = table.rows.length;
if(rowCount < 100) {
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
}
table.appendChild(newrow);
} else {
alert("En fazla 100 satır ekleyebilirsiniz.");
}
var selects = newrow.getElementsByTagName('select');
for(var i=1; i<selects.length;i++) {
selects[i].id = Math.random().toString(36).slice(2);
}
}
function fetch_select(val) {
$.ajax({
type: 'post',
url: 'stoklari_cek.php',
data: {sto_altgrup_kod:val},
success: function (response) {
document.getElementById("kodlar").innerHTML=response;
}
});
}
在我更改第一个选择值的第一行中,我可以从数据库中获取第二个secelt值。但是当我添加新行并更改第一个选择值时,它会更改第二行选择的第一行。我尝试使用此代码为每个选择元素提供唯一ID,但我无法在代码的第二部分调用它。不久我想在我添加的每一行中更改第一个选择值时更改第二个选择选项值。
这是每一行的第一个选择元素。
<select style="margin: 0 !important; padding: 0 !important; width:100%" name="gruplar" id="gruplar" class="gruplar" onChange="fetch_select(this.value)" required>
<option value="">--Alt Gruplar--</option>
<?php $altgrup_al = mysql_query("SELECT * FROM stok_alt_gruplari ORDER BY sta_isim ASC");
while($altgrup_cek = mysql_fetch_array($altgrup_al)){
$sta_isim = $altgrup_cek['sta_isim'];
$sta_RECno = $altgrup_cek['sta_RECno'];
echo '<option ';
echo 'value="'.$altgrup_cek['sta_RECno'].'">'.$altgrup_cek['sta_isim'].'</option>';}?>
</select>
这是第二个选择,值应根据上面的第一个选择进行更改。
<select style="margin: 0 !important; padding: 0 !important; width:100%" class="kodlar" id="kodlar" name="sth_stok_kod[]" required>
<option value="">--Ürünler--</option>