亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用jQuery更改<select>的選項?

如何使用jQuery更改<select>的選項?

嚕嚕噠 2019-10-23 16:01:30
假設有可用的選項列表,如何<select>用new來更新<option>?
查看完整描述

3 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

您可以使用empty方法刪除現有選項,然后添加新選項:


var option = $('<option></option>').attr("value", "option value").text("Text");

$("#selectId").empty().append(option);

如果對象中有新選項,則可以:


var newOptions = {"Option 1": "value1",

  "Option 2": "value2",

  "Option 3": "value3"

};


var $el = $("#selectId");

$el.empty(); // remove old options

$.each(newOptions, function(key,value) {

  $el.append($("<option></option>")

     .attr("value", value).text(key));

});

編輯:要刪除除第一個選項以外的所有選項,可以使用:gt選擇器來獲取option索引大于零的所有元素,以及remove它們:


$('#selectId option:gt(0)').remove(); // remove all options, but not the first


查看完整回答
反對 回復 2019-10-23
?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

我將CMS的出色答案放入了一個快速的jQuery擴展中:


(function($, window) {

  $.fn.replaceOptions = function(options) {

    var self, $option;


    this.empty();

    self = this;


    $.each(options, function(index, option) {

      $option = $("<option></option>")

        .attr("value", option.value)

        .text(option.text);

      self.append($option);

    });

  };

})(jQuery, window);

它期望包含“文本”和“值”鍵的對象數組。因此用法如下:


var options = [

  {text: "one", value: 1},

  {text: "two", value: 2}

];


$("#foo").replaceOptions(options);


查看完整回答
反對 回復 2019-10-23
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

$('#comboBx').append($("<option></option>").attr("value",key).text(value));

其中comboBx是您的組合框ID。


或者,您可以將選項作為字符串附加到已經存在的innerHTML中,然后分配給選擇的innerHTML。


編輯


如果您需要保留第一個選項并刪除所有其他選項,則可以使用


var firstOption = $("#cmb1 option:first-child");

$("#cmb1").empty().append(firstOption);


查看完整回答
反對 回復 2019-10-23
  • 3 回答
  • 0 關注
  • 2063 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號