我有两个组合框,第一个组合框是从数据库填充的,然后当我从它选择选项(onchange)
时,它填充第二个组合框,如果第一个组合框有多个组合框,它可以正常工作值,但如果第一个组合框只有一个选项,它不起作用,任何人都可以帮助我为什么会这样吗?
<div>
<label class="arrow-right"> Category Name</label><br>
<select class="SelectStyle" style="width:95%;border:0;" name="CategoryName" id="CategoryName" onchange="GetOrderProduct(this.options[this.selectedIndex].innerHTML)">
<option value="">Select Category Name</option>
</select>
</div>
<div>
<label class="arrow-right"> Category Type</label>
</div>
<div>
<select class="SelectStyle" style="width:95%;border:0;" name="CategoryType" id="CategoryType" >
<option value="">Select Category Type</option>
</select>
</div>
Javascript代码:
function GetOrderProduct(val)
{
var sel=document.getElementById("OrderId");
var OrdID = sel.options[sel.selectedIndex].text;
$.ajax({
type:"POST",
url:"get_OrderProducts.php",
data:{
'CatName': val,
'OrderID':OrdID
},
success: function(data){
$("#CategoryType").html(data);
}
})
}
答案 0 :(得分:0)
这是因为,在下拉列表中只有一个选项,您永远不能更改所选项目,因此onchange
事件永远不会触发。您可以将元素设置为具有click
事件以及change
事件,但这很可能会变得烦人并导致性能延迟。
底线是只有一个元素,你必须在另一个时间以另一种方式触发代码。