我是php和javascripts的新手。我必须通过单击按钮来创建动态添加或删除行,我正在使用表格,javascript工作正常。我还在上面动态添加的元素的行中有一个动态下拉淹没列表。现在,当我的表中只有一行时,动态下拉列表工作正常,因为该函数将id作为参数发布到哪里。但是当我添加更多行时,动态下拉列表总是指向第一行id。我不知道如何设置动态ID或者是否可以更改id。这是代码:
<table id="dataTable" class="form" border="1"> <!--class="form" -->
<tbody>
<tr>
<p>
<td >
<input id="checkbox1" type="checkbox" class = 'chk' name="chk[]" />
</td>
<td>
<label>Server Type</label>
<select id="BX_Server_Type" name="BX_Server_Type[]">
<option value="">Select Server</option>
<option>EMAIL Server</option>
<option>Web Server</option>
<option>FTP Server</option>
<option>DNS Server</option>
<option>WAP Server</option>
<option>AUTHETICATION Server</option>
</select>
</td>
<td>
<label for="BX_Vendor">Server Vendor</label>
<select id="BX_Vendor" name="BX_Vendor[]" selected **onChange="getProduct(this.value,'Product_list1');" >**
<option value="" selected>Select Vendor</option>
<?php
$sql="SELECT DISTINCT firewall.VENDOR FROM firewall";
$result=$dbhandle->query($sql);
while ($rs=$result->fetch_assoc()){
?>
<option value="<?php echo $rs["VENDOR"]; ?>"><?php echo $rs["VENDOR"]; ?></option>
<?php
}
?>
</select>
</td>
<td>
<label >Server Product </label>
<select id="Product_list1" class="testclass" name="BX_Product[]">
<option value="">Select Product</option>
</select>
</td>
<td>
<label for="BX_Number">No of Server</label>
<input id="BX_Number[]" name="BX_Number">
</td>
</p>
</tr>
</tbody>
</table>
函数getProduct(this.value,'Product_list1')将id'Product_list1'用于发布查询结果。
<script>
function getProduct(val1,val2)
{
$.ajax({
type:"POST",
url: "get_product.php",
data: 'VENDOR='+val1,
success: function (data){
$("#"+val2).html(data);
}
});
}
</script>
如果我有一个静态id,上面的函数可以正常工作,但是现在当我动态地在表中添加行时,它不起作用。任何人都可以帮助我,请如何让它工作?
添加和删除行只是工作正常,只有在添加新行后动态下拉列表中出现问题。请帮忙。
感谢。
答案 0 :(得分:0)
我认为你的意思是&#34;级联组合框&#34; ?
如果是这样,这里的链接可以帮助您: http://www.infotuts.com/cascaded-dropdown-jquery-ajax-php/