ie8中的选项是jQuery .val()吗?

时间:2013-07-16 20:38:48

标签: jquery internet-explorer-8 options

我正在为选择列表动态添加一个新选项,我想要做的就是选择它,因为它来自用户输入。可能性很大,他们想要他们刚刚添加的新选项。

var msg = "an ajax return from a modal input that works";
$("#myselect").append( $('<option></option>').val(msg).html(msg) );

该项目确实已添加到选择中,但未选中。

我只有ie8在互联网上测试并遵守......

这是一个浏览器错误,还是我的代码错了?

我的理解是.val()应该选择它。

4 个答案:

答案 0 :(得分:3)

你的代码错了。

您可以创建选项,但永远不会选择它。

添加选项后,您可以在select元素上调用.val()来设置所选选项。

在选项上调用.val()设置选项的 - 选择该选项时选择将具有的值。

答案 1 :(得分:3)

更改选项值不会将select设置为该值,您必须设置选择值才能执行该操作

var msg = "an ajax return from a modal input that works";

$("#myselect").append( $('<option>' + msg + '</option>') ).val(msg);

或者您可以设置所选属性,但您必须确保没有选择其他选项:

var option = $('<option />', {text:msg, selected:'selected'});
$("#myselect").find('option').prop('selected', false).end().append( option );

答案 2 :(得分:0)

您也可以$("#myselect:last")选择最后一个选项。

答案 3 :(得分:0)

这样的事情:

var msg = "an ajax return from a modal input that works";
$("#myselect").append('<option value="'+msg+'" selected="selected">'+msg+'</option>');

工作小提琴:http://jsfiddle.net/hieuh25/aBBRy/1/