JQuery - показать и скрыть DIV с тегом выбора

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. У меня есть два поля выбора, которые содержат континенты и страны.

Мои потребности nascodere показывают двух-DIV, "lib-ass" и "soc-first":

1) Когда вы выбираете континент Европы, появляется DIV "lib-ass". Все в порядке

2) Когда вы не выбираете континентальную Европу DIV "lib-ass", прячется. Все в порядке

3 Когда вы не выбираете страну DIV Британия, "lib-ass" должна скрываться. Это не нормально.

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

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

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

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

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

  • 0
    Что означает « My needs nascodere ?
  • 0
    Ты хочешь это
Показать ещё 5 комментариев
Теги:
select
show-hide

2 ответа

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
    Это было именно то, чего я хотел достичь. Огромное спасибо.
0

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

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

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

Вот рабочий пример

  • 0
    Да, большое спасибо.
  • 0
    Я не знаю, я только что присоединился, извините
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню