javascript - 如何删除所有下拉选项并仅用给定的 NAME 属性替换新选项?

标签 javascript jquery

需要一些关于 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

Live Demo

或者你可以尝试

jQuery("#payment_currency_tr").find('select')// find drop down
                              .html(js_option)
                              .val(msg);

Another Demo

关于javascript - 如何删除所有下拉选项并仅用给定的 NAME 属性替换新选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22853443/

相关文章:

jquery - 悬停时CSS伸缩边框动画

javascript - 我们如何在不同选项卡上序列化 selectpicker 插件文本?

javascript - 我如何使用 ScrollSpy?

javascript - 如何删除 d3.behavior.drag().on ("drag",...) 事件处理程序

javascript - 使用 PLupload 上传单个文件?

javascript - Masonry broken(可能是经典)

javascript - 在对象创建器中向 DOM 添加选项

javascript - 选项卡中的重启功能如何?

javascript - Android WebView 缓存 list 应用程序不刷新 Javascript 文件

javascript - 有没有办法在javascript中代理(拦截)一个类的所有方法?