我有一个带有选择框的表单,其选项由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]);
}
答案 0 :(得分:2)
如果您想要当前选择的选项,请使用:selected
selector。
$("#my_select_box_id option:selected")
您的代码无法正常工作,因为您过早地关闭了选择器字符串而不是连接。这会导致错误。
$("#my_select_box_id option[value='" + id_option + "']");
此外,属性选择器应仅适用于属性。我不了解jQuery,因为他们历史上已经减少了属性和属性之间的区别。因此,这取决于.attr()
是否实际设置了属性的属性。