У меня есть два поля со списком, первое поле со списком заполняется из базы данных, затем, когда я выбираю вариант из него (onchange)
, он заполняет второй поле со списком, он отлично работает, если первый комбинированный блок имеет более одного значения, но он не работает, если в первом поле со списком есть только один вариант, может ли кто-нибудь помочь мне, почему это происходит?Заполнение поля со списком после выбора из другого combox
<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);
}
})
}
Этого не происходит, потому что с одним элементом в раскрывающемся списке событие изменения никогда не происходит. Если есть один элемент, возможно, вам придется запускать событие изменения вручную. – Snowmonkey