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

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

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

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

慕妹3242003 2019-12-06 11:06:17
假設有可用的選項列表,如何<select>用new來更新<option>?
查看完整描述

3 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

您可以使用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-12-07
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

我將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-12-07
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

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

其中comboBx是您的組合框ID。


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


編輯


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


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

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



查看完整回答
反對 回復 2019-12-07
  • 3 回答
  • 0 關注
  • 447 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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