Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
385 views
in Technique[技术] by (71.8m points)

javascript - 从动态创建的选项中设置选项“已选择”属性(set option “selected” attribute from dynamic created option)

I have a dynamically created select option using a javascript function.(我有一个使用javascript函数动态创建的选择选项。)

the select object is(选择对象是) <select name="country" id="country"> </select> when the js function is executed, the "country" object is(当执行js函数时,“country”对象是) <select name="country" id="country"> <option value="AF">Afghanistan</option> <option value="AL">Albania</option> ... <option value="ID">Indonesia</option> ... <option value="ZW">Zimbabwe</option> </select> and displaying "Indonesia" as default selected option.(并显示“Indonesia”作为默认选择选项。) note : there is no selected="selected" attribute in that option.(注意:该选项中没有selected="selected"属性。) then I need to set selected="selected" attribute to "Indonesia", and I use this(然后我需要将selected="selected"属性设置为“Indonesia”,我使用它) var country = document.getElementById("country"); country.options[country.options.selectedIndex].setAttribute("selected", "selected"); using firebug, I can see the "Indonesia" option is like this(使用萤火虫,我可以看到“印尼”选项是这样的) <option value="ID" selected="selected">Indonesia</option> but it fails in IE (tested in IE 8).(但它在IE中失败(在IE 8中测试)。) and then I have tried using jQuery(然后我尝试使用jQuery) $( function() { $("#country option:selected").attr("selected", "selected"); }); it fails both in FFX and IE.(它在FFX和IE中都失败了。) I need the "Indonesia" option to have selected="selected" attribute so when I click reset button, it will select "Indonesia" again.(我需要“Indonesia”选项才能selected="selected"属性,所以当我点击重置按钮时,它会再次选择“Indonesia”。) changing the js function to dynamically create "country" options is not an option.(更改js功能以动态创建“country”选项不是一种选择。) the solution must work both in FFX and IE.(解决方案必须在FFX和IE中都能正常工作。) thank you(谢谢)   ask by tsurahman translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You're overthinking it:(你是在思考它:)

var country = document.getElementById("country"); country.options[country.options.selectedIndex].selected = true;

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

56.9k users

...