首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向jquery代码中添加多个值

如何向jquery代码中添加多个值
EN

Stack Overflow用户
提问于 2014-07-17 05:04:44
回答 5查看 55关注 0票数 2

我创建了代码,只在从下拉列表中选择类别之后才显示div,我在css中创建了div display:none,并在jquery中使用该代码和它的工作方式显示了divdisplay:none

代码语言:javascript
复制
$(' select[name=catId]').change(function(e){
      if ($(' select[name=catId]').val() == '32'){
        $('#photo-upload').hide();
      }else{
        $('#photo-upload').show();
      }
    });

但是这样,它对选项值32起作用,但我希望它能适用于许多值,我尝试过这样做,但它不起作用。

代码语言:javascript
复制
 $(' select[name=catId]').change(function(e){
          if ($(' select[name=catId]').val() == '32' '45' 67' 89' 122'){
            $('#photo-upload').hide();
          }else{
            $('#photo-upload').show();
          }
        });

请指导我如何使它隐藏为其他值也不只是32,现在它为我工作的只是一个价值。

更新:这是我的html结构。

代码语言:javascript
复制
<select name="catId" id="catId">
    <option value="1">England</option>
    <option value="2">Russia</option>
    <option value="3">Antartika</option>
    <option value="4">Maldives</option>
    <option value="32">Alaska</option>
    <option value="45">Seychelles</option>
    <option value="67">Georgia</option>
    <option value="89">Honduras</option>
    <option value="7">Lebanon</option>
    <option value="8">Switzerland</option>
    <option value="122">Germany</option>
</select>
<div id="photo-upload">photo uploader here</div>

这是一个烦躁的演示:http://jsfiddle.net/Bk54E/

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-07-17 05:06:18

像这样使用OR操作符

代码语言:javascript
复制
$("select[name='catId']").change(function(e){

    var res = $(this).find("option:selected").val() ;

    if (res == '32' || res == '45' || res == '67' || res == '89' || res == '122'){

         $('#photo-upload').hide();

      }else{

          $('#photo-upload').show();

      }
 });

小提琴

票数 1
EN

Stack Overflow用户

发布于 2014-07-17 05:07:38

使用

在jquery中使用inArray

代码语言:javascript
复制
$.inArray( $(' select[name=catId]').val(), [ '32', '45', '67', '89', '122' ] );

代码语言:javascript
复制
 $.inArray( this.value , [ '32', '45', '67', '89', '122' ] );

您的JS代码将显示

代码语言:javascript
复制
$("select[name='catId']").change(function(){
       if( $.inArray(this.value, ['32', '45', '67', '89', '122' ] )!=-1){
            $('#photo-upload').hide();
          }else{
            $('#photo-upload').show();
          }
        });

演示

票数 0
EN

Stack Overflow用户

发布于 2014-07-17 05:09:07

最好用这样的东西。

代码语言:javascript
复制
if(['32', '45', '67', '89', '122'].indexOf($(' select[name=catId]').val())>-1){
     //hide
}

因此,基本上,如果其中任何一个都等于select's value条件,则为真。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24795246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档