<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/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();
});
Вы можете добавить в свою логику следующее:
$("#country").change(function(){
if($("#country option:selected").val() == "Britain") {
$('#lib-ass').show();
$('#soc-pri').show();
}else{
$('#lib-ass').hide();
}
}).change();
Где страна - это поле выбора выбранной страны. Хештег (#) используется для вызова определенного идентификатора в JQuery.
My needs nascodere
?