#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть следующая функция, когда я устанавливаю флажок ‘chx’, отладчик сообщает мне, что ‘name’ не определено. Я не вижу, в чем здесь ошибка:
<script>
function nameF() {
$('#chx').prop('checked') ? $('div').slideDown() : $('div').slideUp();
}
</script>
флажок:
<asp:CheckBox ID="chx" runat="server" Text="Text" onchange="nameF('div')" />
Редактировать:
Похоже, что ни в одном из ответов не отображается div,
function medicalProblems(Medfurtherdetails) {
$('#chxMedicalVision').prop('checked') ? $(Medfurtherdetails).show() : $(Medfurtherdetails).hide();
}
флажок:
<asp:CheckBox ID="chxMedicalVision" runat="server" Text="Vision" onchange="medicalProblems('Medfurtherdetails')" />
div:
<div id="Medfurtherdetails" style="display:none"></div>
Теперь это рабочий режим, хотя он не скрывает div, когда ничего не проверяется:
function medicalProblems(thediv) {
if ($("#chxMedicalVision").prop('checked') || $("#chxMedicalHearing").prop('checked') || $("#chxMedicalSpeech").prop('checked'))
{
$("#" thediv).slideUp();
}
else
{
$("#" thediv).slideDown();
}
}
Комментарии:
1. Вы отправляете параметр в функции без параметра 🙂
2. $(‘#chx’).is (‘:проверено’)?
Ответ №1:
Изменить
$('#chx').prop('checked') ? $(element).slideDown() : $(element).slideUp();
Для
$(this).prop('checked') ? $(element).slideDown() : $(element).slideUp();
и удалите параметр ‘div’, как упоминалось в других ответах.
Ответ №2:
<script>
function nameF(x) {
$('#chx').prop('checked') ? $('div').slideDown() : $('div').slideUp();
}
</script>
<asp:CheckBox ID="chx" runat="server" Text="Text" onchange="nameF('div')" />
если вы хотите передать параметр, должна быть переменная, которая будет храниться в нем.
Ответ №3:
Либо удалите 'div'
из этого
<asp:CheckBox ID="chx" runat="server" Text="Text" onchange="nameF('div')" />
который должен быть таким
<asp:CheckBox ID="chx" runat="server" Text="Text" onchange="nameF()" />
или
сделайте что-то вроде этого
<script>
function nameF(mydiv) {
$('#chx').prop('checked') ? $('#' mydiv).slideDown() : $('#' mydiv).slideUp();
}
</script>
Комментарии:
1. не понял вас .. когда вы добавляете
style="display:none"
, он скрывает ваш div.2. да. По умолчанию нет необходимости показывать div. Я использую переключатель в другом месте, потому что в этом случае есть несколько флажков, и переключатель работает не так, как я намереваюсь.