使用jQuery清除“下拉选项”

fquxozlt  于 2023-08-04  发布在  jQuery
关注(0)|答案(1)|浏览(140)

我有一个单一的选择下拉菜单使用的选择库,其中包括一个删除按钮,并显示了各种城市:

的数据
它在代码中声明为:

<select class="cities-dd" placeholder="Select city:" style="font-size:16px;line-height:24px;font-weight:regular;color:#757575;width:350px;vertical-align:middle;">
     <option value="">Select city:</option>`
          for(let city of cities){
               if (city.length>2){
                   tab += `<option value="${city}">${city}</option>`;
                      }};  
</select>

字符串
我想使用jQuery清除所选城市。我已经尝试了很多方法,包括使用以下命令单击removeItemButton:

jQuery(".choices__button, input[type='button']").click();


并通过以下方式将该值更改为null
第一个月
但似乎什么都不管用任何建议将不胜感激。

wribegjk

wribegjk1#

从他们的文档中,我发现他们几乎没有方法来清除选定的值,如clearChoices()removeActiveItems()。幸运的是,没有这些作品see this issue in github和我发现了一个黑客在你的情况下.它们有一个名为setChoiceByValue(value)的方法,用于设置活动元素。在您的情况下,您有一个名为“选择城市”的占位符选项:值为""。因此,您可以通过setChoiceByValue("");将其设置为选定项
请参见以下示例:

console.warn = () => {};

const choices = new Choices($('.cities-dd')[0]);

$("#clear").off("click").on("click", function() {
  console.log(choices.getValue(true));
  choices.setChoiceByValue("");
  console.log(choices.getValue(true));
});

个字符

相关问题