2014-02-14 3 views
0
<label for="continent">Select Continent</label> 
<select id="continent" onchange="countryChange(this);"> 
    <option value="empty">Select a Continent</option> 
    <option value="North America">North America</option> 
    <option value="South America">South America</option> 
    <option value="Asia">Asia</option> 
    <option value="Europe">Europe</option> 
    <option value="Africa">Africa</option> 
</select> 
<br/> 
<label for="country">Select a country</label> 
<select id="country"> 
    <option value="0">Select a country</option> 
</select> 
<div id="soc-pri"> 
    <label for="company">Company</label> 
    <input name="customer" type="radio" value="company" /> 
    <label for="private">Private</label> 
    <input name="customer" type="radio" value="private" /> 
</div> 
<div id="lib-ass"> 
    <label for="individual firm/freelancer">Individual Firm/Freelancer Professionista</label> 
    <input name="customer" type="radio" value="privato" /> 
    <label for="association">Associazione</label> 
    <input name="customer" type="radio" value="association" /> 
</div> 




$(document).ready(function() { 
    $("select").change(function() { 
     if ($("select option:selected").val() == "Europe") { 
      $('#lib-ass').show(); 
      $('#soc-pri').show(); 

     } else if ($("select option:selected").val() != "Europe") { 
      $('#lib-ass').hide(); 
     } 
    }).change(); 
}); 

Привет всем, я только начал изучать jquery. У меня есть два поля выбора, которые содержат континенты и страны.jQuery - показать и скрыть DIV с тегом выбора

Моих потребностей nascodere показывает два-DIV, "Lib-попу" и "Соц-первый":

1) При выборе континента Европы ДИВ "Lib-заднице," появляется. Это нормально

2) Когда вы не выбираете континентальный европейский DIV «lib-ass», скрывается. Это нормально

3 Если вы не выбрали страну DIV UK, то «lib-ass» должна скрываться. Это не совсем нормально.

Когда вы выбираете страну DIV Britain, вам нужно показать «lib-ass». Это не совсем нормально

Моя проблема заключается в том, что я не могу скрыть шоу, когда вы выбираете свою страну в Великобритании тегом DIV с идентификатором «lib-ass».

Где я ошибаюсь?

Надеюсь, что информация об авердато, насколько это возможно. благодаря

http://jsfiddle.net/carmy/jg7Ls/6/

+0

Что 'Мои потребности nascodere' в виду? – j08691

+0

Вы хотите [это] (http://jsfiddle.net/jg7Ls/7/) – Satpal

+0

извините за плохой Английский – user3311699

ответ

1

http://jsfiddle.net/J2XDk/1/ Это то, что вы хотите сделать?

Я сделал несколько изменений: select значения можно получить, позвонив по телефону .val() непосредственно на выбор (нет необходимости в поиске выбранной опции). Я также просматриваю его специально с помощью идентификатора окна выбора, так как просто выполнение $('select') неоднозначно. Сохраняйте значения в переменных, поэтому вам не нужно выполнять jQuery несколько раз. Альтернативное условие для проверки Европы может просто использовать еще, не нужно специально проверять != "Europe"

$(document).ready(function() { 

    $("select").change(function() { 
     var continent = $('#continent').val(), 
      country = $('#country').val(), 
      $libass = $('#lib-ass'), 
      $socpri = $('#soc-pri'); 

     if (continent === "Europe") { 
      $libass.show(); 
      $socpri.show(); 

     } else { 
      $libass.hide(); 
     } 

     if(country === 'Britain') { 
      $libass.hide();     
     } else { 
      $libass.show(); 
     } 

    }).change(); 
}); 
+0

Это было именно то, чего я хотел достичь. Огромное спасибо. – user3311699

0

Вы можете добавить следующие строки в логике:

$("#country").change(function(){ 
      if($("#country option:selected").val() == "Britain") { 
       $('#lib-ass').show(); 
       $('#soc-pri').show(); 
      }else{ 
       $('#lib-ass').hide(); 
      } 
}).change(); 

Где страна является выберите ящик выбранной страны. Хештег (#) используется для вызова определенного идентификатора в JQuery.

Here is a working example

+0

Да, большое вам спасибо. – user3311699

+0

Я не знаю, я только что присоединился, извините – user3311699

+0

Не волнуйся! Вы можете просто принять ответ, если считаете, что он соответствует вашим требованиям. – ltalhouarne

Смежные вопросы