0

我有一个带有选择框的表单,其选项由 ajax 根据用户输入的先前值预先选择。

我只需要向这些预先选择的选项添加文本。

for (i in data) {
        $("#my_select_box_id").val(data[i][0]).attr('selected',true);
        var id_option = data[i][0];

        //this following line doesn't work, why do I do wrong here ?
        $("#my_select_box_id option[value="id_option"]).html(data[i][1]);
}
4

1 回答 1

2

如果您想要当前选择的选项,请使用:selected选择器。

$("#my_select_box_id option:selected")

您的代码不起作用,因为您过早关闭选择器字符串而不是连接。这会导致错误。

$("#my_select_box_id option[value='" + id_option + "']");

此外,属性选择器应该只对属性起作用。不过我不了解 jQuery,因为它们在历史上削弱了属性和属性之间的区别。所以这取决于是否.attr()实际上设置了属性的属性。

于 2012-10-17T15:51:07.017 回答