我有一个带有选择框的表单,其选项由 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]);
}
最佳答案
使用:selected
selector如果您想要当前选择的选项。
$("#my_select_box_id option:selected")
您的代码不起作用,因为您过早地关闭了选择器字符串而不是连接。这会导致错误。
$("#my_select_box_id option[value='" + id_option + "']");
此外,属性选择器应该仅适用于属性。我不了解 jQuery,因为它们在历史上已经缩小了属性和属性之间的区别。因此,这取决于 .attr()
是否实际设置了属性的属性。
关于javascript - 如何使用 javascript 变量按值选择元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12938259/