2015-12-09 5 views
1

Я пытаюсь добиться, чтобы сделать видимость-выберите пункт зависимого от другого 1. Я думал, что я мог бы к этому с JavaScript, как это:Скрыть избранный на основе значения другого выберите

Руководителя:

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> 
    jQuery(document).ready(function(){ 
     jQuery("#filepermissiontype").change(function() {   

      if (jQuery(this).val() = "global") { 
       jQuery("#filepermissioncompanyid").hide(); 
      }else{ 
       jQuery("#filepermissioncompanyid").show(); 
      } 
     }); 
    }); 
    </script> 

элементы:

<select id="filepermissiontype" data-placeholder="..." name="filepermissiontype" class="select" value="<?php echo set_value('filepermissiontype'); ?>"> 
<option></option> 
<option value="global">Everyone</option> 
<option value="company">Company</option> 
<option value="companyandchildren">Company & children</option>           
</select> 

<select id="filepermissioncompanyid" data-placeholder="..." name="filepermissioncompanyid" class="select" value="<?php echo set_value('filepermissioncompanyid'); ?>"> 
<option></option> 
<option value="1">Corp 1</option> 
<option value="2">Corp 2</option> 
<option value="2">Corp 3</option>           
</select> 

с этим, я надеюсь, что когда я выбираю глобальный в первом выберите, то второй выбор исчезнет, ​​но этого не происходит. Что я делаю не так?

Благодаря

+1

изменен, если (JQuery (это) .val() = "глобальный") в случае (JQuery (это) .val() = = "global") – mitch2k

ответ

1

вы используете оператор присваивания, когда вы имели в виду использовать оператор сравнения. простой ошибка. перейти к ...

if (jQuery(this).val() == "global"){...} 
0

Ваше сравнение не корректно:

if(jQuery(this).val() = "global"){...} 

Должно быть

if(jQuery(this).val() == "global"){...} 

Или

if(jQuery(this).val() === "global"){...} 

Имейте в виду, что назначение = не то же, что и comparison равенства == или строгого равенства ===

EDIT: в соответствии с приведенными ниже комментариями, ОП имеет проблемы с получением значения выбора опции. Попробуйте сделать следующее:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> 
    jQuery(document).ready(function(){ 
     jQuery("select[id=filepermissiontype]").change(function() {   
      if (jQuery(this).val() = "global") { 
       jQuery("#filepermissioncompanyid").hide(); 
      }else{ 
       jQuery("#filepermissioncompanyid").show(); 
      } 
     }); 
    }); 
</script> 

Пожалуйста, смотрите эту Stack Overflow Answer как в будущем.

+0

Привет, я попробовал (глупую ошибку), но это ничего не меняет в результате. Поэтому даже с if (jQuery (this) .val() == "global"), второй выбор всегда есть – mitch2k

+0

Затем сломайте его, 'console.log (jQuery (this) .val());' должен помочь для определения корня ваших проблем в 'jQuery (« # filepermissiontype »). change'. Если значения совпадают и сравнение работает, то что-то мешает функциям '.hide()' и '.show()' jQuery – AGE

+0

Привет, Я добавил его так: ' ' Но я ничего не вижу в консоли – mitch2k

0

Небольшая ошибка '=' это назначение, == для сравнения

 jQuery(document).ready(function(){ 
    jQuery("#filepermissiontype").change(function() {   

    if (jQuery(this).val() == "global") { 
      jQuery("#filepermissioncompanyid").hide(); 
     }else{ 
      jQuery("#filepermissioncompanyid").show(); 
     } 
    }); 
}); 
Смежные вопросы