需要一些关于 jquery 的帮助。
如何删除所有下拉选项并替换新选项?
注意:在选择标记中仅使用名称属性,无ID属性。
<tr id="payment_currency_tr">
<TD class="prompt">
Payment currency*
</TD>
<TD class="formdata">
<SELECT name="payment_currency" onchange="" style="" > <!-- to clear this option and replace to SGD option only.
<OPTION value="">
<OPTION VALUE="USD" >USD
<OPTION SELECTED SELECTED VALUE="CHF" >CHF
<OPTION VALUE="SGD" >SGD
</SELECT>
</TD>
</tr>
我尝试下面的脚本但不起作用 1)
msg = 'SGD';
js_option = '<option value="' + msg + '">' + msg + '</option>';
jQuery("#payment_currency_tr")
.find('option')
.remove()
.end()
.append(js_option)
.val(msg)
2)
msg = 'SGD';
Var d = document.getElementsByName('payment_currency')[0];
d.options[0].option = msg;
d.options[0].value = msg;
我知道有一种方法可以通过使用 ID 属性进行更改,但遗憾的是我无法使用它,因为表结构是通过某些 cfm 自定义标记生成的并且无法修改
document.getElementById("payment_currency").options.length = 0;
jQuery("#payment_currency").children().end().append(js_option);
最佳答案
简单地尝试一下,
msg = 'SGD';
js_option = '<option value="' + msg + '">' + msg + '</option>';
$('select[name="payment_currency"]').html(js_option)//set new html,replace previous options
.val(msg); // sel msg as selected option
或者你可以尝试
jQuery("#payment_currency_tr").find('select')// find drop down
.html(js_option)
.val(msg);
关于javascript - 如何删除所有下拉选项并仅用给定的 NAME 属性替换新选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22853443/