0

我有三个选择框

$("select#selectbox1").val(data.Ref_box1_ID.toString()).trigger('change');
$("select#selectbox2").val(data.Ref_box2_ID.toString()).trigger('change');
$("select#selectbox3").val(data.Ref_box3_ID.toString()).trigger('change');

我有一个问题:在更改事件中,有一些代码可以在下一个选择框中加载选项,但看起来它只适用于第一个正确选择选项然后触发更改事件在下一个选择框中加载选项的代码;但是第二个选择只显示第一个选项,上面写着“选择一个选项......”,而在第三个中它根本不加载任何东西,也不选择任何选项..

我可能在这段代码中错过了什么?...我尝试将 .blur() 也用于刷新但没有效果,也没有在 .trigger() 之前添加事件属性('selected','selected')...

任何方向将不胜感激。

4

1 回答 1

0

检查这个

<select id="selectbox1" />
    <option value="11"> 11</option>
    <option value="12"> 12</option>
    <option value="13"> 13</option>
</select>

<select id="selectbox2" />
    <option value="21"> 21</option>
    <option value="22"> 22</option>
    <option value="23"> 23</option>
</select>
<select id="selectbox3" />
    <option value="31"> 31</option>
    <option value="32"> 32</option>
    <option value="33"> 33</option>
</select>

$(function() {
    $('#selectbox1 , #selectbox2, #selectbox3').on('change', function() {

        var val = $(this).find('option:selected').val();

        alert('Value of ' + $(this).attr('id') + ' is : ' + val);
    });

    $("#selectbox1").val('12').trigger('change');
    $("#selectbox2").val('23').trigger('change');
    $("#selectbox3").val('32').trigger('change');

});​

您是在定义事件之后还是在此之前触发了事件。如果稍后完成,则事件尚无法触发它们...

检查小提琴

于 2012-09-21T15:23:15.257 回答