【问题标题】:can't select a data in chosen using jquery?无法选择使用 jquery 选择的数据?
【发布时间】:2014-09-29 04:32:30
【问题描述】:

我正在使用选择的选择选项。在我的情况下,我必须通过 jquery 选择一个选项。

select 选项有 {monkey,Lion,Tiger,2dog,Other...etc} 等选项。我通过 jquery 选择一个单词如下。

jQuery("#aselect").val('Lion');          
jQuery("#aselect").trigger("chosen:updated");

它适用于字符串 'Lion' 但我无法选择带有 'tiger' 的单词。因为 T 在选择列表中是大写的。但是我的数据来自数据库..

那么我怎样才能做到这一点?或者我必须遵循一些规则,比如始终保持所有单词的小写或大写字母..

请帮帮我..

编辑: 现在我试过了,

jQuery("#aselect").val('tiger').trigger("chosen:updated");

但是,要选择 'Tiger',而不是此代码添加一个新选项 'tiger'?

现在我的列表有新项目 {...Tiger,..,tiger,..etc} 所以我需要选择一个匹配的值...

【问题讨论】:

  • 你能把你的代码摆弄一下吗?谢谢
  • 第一个:你可以做 jQuery("#aselect").val('Lion').trigger("chosen:updated");第二:你需要 jQuery("#aselect").val('Lion');第三:检查是否有任何带有该 id 和选项 value="Lion" 的下拉菜单

标签: javascript jquery html select jquery-chosen


【解决方案1】:

使用.toLowerCase()将值转换为小写,然后检查它们是否相等。

var t = 'Tiger'; //store value inside a variable

$('#aselect option').each(function() {    //loop through select options
  if( this.value.toLowerCase() === t.toLowerCase() ) { 
    $(this).attr('selected','selected'); // or $(this).prop('selected',true);
    $("#aselect").trigger("chosen:updated");
  }
});

【讨论】:

  • 感谢@Kartikeya 的回答。但在我的场景中,我想选择的值可以是任何值(1one,two,Three,fo4,five)。所以在这将不工作..我的假设是如何使用 jquery 的搜索选项...
  • 我试过了,但它不适用于与列表中的单词不正确匹配的单词(list M: myvalue m)..
  • 我正在尝试选择“manik”这个词,但选择选项有“Manik”。所以代码不适用于这种情况..
  • @Manik...这就是我在回答中显示的内容,只需将值转换为小写并检查它是否相等。
  • 你是对的@Kartikeya ..将值与其小写进行比较..但是在比较值之后,如果匹配,则必须选择选择选项中的匹配值对吗?但它没有被选中..(我试过你的,对不起,它不起作用)。
【解决方案2】:

最后在@Kartikeya 的帮助下我解决了..

temp = 'tiger';
jQuery("aselect option").each(function() {   
    if(this.value.toLowerCase() === temp.toLowerCase() ) { 
        jQuery(this).attr("selected","selected");
        jQuery("#aselect").trigger("chosen:updated");
    }
});

它最终选择了 选择选项中的老虎...

【讨论】:

  • 这不适用于特殊字符(1tig,'ei,"hu,...等)。
猜你喜欢
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 2017-04-05
  • 1970-01-01
  • 2019-04-19
  • 1970-01-01
  • 2018-10-14
相关资源
最近更新 更多