从另一个combox中选择后填写组合框

时间:2017-02-01 16:59:38

标签: javascript ajax html5 combobox

我有两个组合框,第一个组合框是从数据库填充的,然后当我从它选择选项(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);
        }
    })
}

1 个答案:

答案 0 :(得分:0)

这是因为,在下拉列表中只有一个选项,您永远不能更改所选项目,因此onchange事件永远不会触发。您可以将元素设置为具有click事件以及change事件,但这很可能会变得烦人并导致性能延迟。

底线是只有一个元素,你必须在另一个时间以另一种方式触发代码。