问题:
Using core jQuery, how do you remove all the options of a select box, then add one option and select it? 使用核心jQuery,如何删除选择框的所有选项,然后添加一个选项并选择它?
My select box is the following. 我的选择框如下。
<Select id="mySelect" size="9" </Select>
EDIT: The following code was helpful with chaining. 编辑:以下代码有助于链接。 However, (in Internet Explorer) .val('whatever')
did not select the option that was added. 但是,(在Internet Explorer中) .val('whatever')
没有选择添加的选项。 (I did use the same 'value' in both .append
and .val
.) (我在.append
和.val
中都使用了相同的'value'。)
$('#mySelect').find('option').remove().end().append('<option value="whatever">text</option>').val('whatever');
EDIT: Trying to get it to mimic this code, I use the following code whenever the page/form is reset. 编辑:试图让它模仿这个代码,每当页面/窗体重置时,我使用以下代码。 This select box is populated by a set of radio buttons. 此选择框由一组单选按钮填充。 .focus()
was closer, but the option did not appear selected like it does with .selected= "true"
. .focus()
更接近,但该选项似乎没有像.selected= "true"
那样被选中。 Nothing is wrong with my existing code - I am just trying to learn jQuery. 我现有的代码没有任何问题 - 我只是想学习jQuery。
var mySelect = document.getElementById('mySelect');
mySelect.options.length = 0;
mySelect.options[0] = new Option ("Foo (only choice)", "Foo");
mySelect.options[0].selected="true";
EDIT: selected answer was close to what I needed. 编辑:选择的答案接近我需要的。 This worked for me: 这对我有用:
$('#mySelect').children().remove().end().append('<option selected value="whatever">text</option>') ;
But both answers led me to my final solution.. 但这两个答案都让我得到了最后的解决方案..
解决方案:
参考一: https://stackoom.com/question/CRM/如何删除选择框的所有选项-然后添加一个选项并使用jQuery选择它参考二: https://oldbug.net/q/CRM/How-do-you-remove-all-the-options-of-a-select-box-and-then-add-one-option-and-select-it-with-jQuery
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/4315287