正确设置选择的选项值和火灾更改触发器

时间:2012-09-21 14:29:49

标签: jquery

我有三个选择框

$("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()之前添加事件attrib('selected','selected')。 ..

任何方向都会受到赞赏。

1 个答案:

答案 0 :(得分: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');

});​

在定义事件之后或之前是否触发了事件..如果以后完成,则事件尚未可用于触发...

检查FIDDLE