У меня есть список со многими строками, когда пользователь нажимает на любую строку, я загружаю данные о этой строке и помещаю результат в другой div.
Этот динамический контент имеет этот код:
<div id="reasondiv">
<div style="float: left;padding-left:10px; margin-left:134px;">
<label style="color: red; padding-right: 3px;">*</label>
<asp:DropDownList runat="server" ID="callDispoSelect" ClientIDMode="Static">
<asp:ListItem Value="-1">Select Reason</asp:ListItem>
<asp:ListItem Value="1">Reservation</asp:ListItem>
<asp:ListItem Value="2">Change of Reservation</asp:ListItem>
<asp:ListItem Value="3">Cancellation</asp:ListItem>
<asp:ListItem Value="4">Wait List</asp:ListItem>
<asp:ListItem Value="5">Other</asp:ListItem>
</asp:DropDownList>
</div>
<div style="float:left">
<input runat="server" id="visitID" ClientIDMode="Static"/>
<label id="importantSign" style="color: red; padding-right: 3px">*</label>
</div>
</div>
У меня есть код jquery:
$(document).on('change', '#callDispoSelect', function () {
var selectedValue = $("#callDispoSelect").val();
if ((selectedValue == 1) || (selectedValue == 5)) {
$("#visitID").show();
$("#importantSign").show();
$("#saveandclosebutton").hide();
} else {
if (selectedValue == -1) {
$("#visitID").hide();
$("#importantSign").hide();
$("#saveandclosebutton").hide();
} else {
$("#visitID").hide();
$("#importantSign").hide();
$("#saveandclosebutton").show();
}
}
});
Я получил undifined is not a function
в on
Я много читал через Google, и я обнаружил, что мне нужно использовать $(document)
и именно это я и сделал. но это мне не помогло
Я загружаю динамический контент, используя это:
$('#subView').load('SubView.aspx');
Пожалуйста помоги
Вы уверены, что используете достойную версию jQuery? Когда я сталкиваюсь с такой проблемой, это почти всегда проблема старой версии.
"добавлена версия: 1.7"
$(function () {
$('#callDispoSelect').on('change', function () {
var selectedValue = $('#callDispoSelect').val();
if ((selectedValue == 1) || (selectedValue == 5)) {
$("#visitID").show();
$("#importantSign").show();
$("#saveandclosebutton").hide();
} else {
if (selectedValue == -1) {
$("#visitID").hide();
$("#importantSign").hide();
$("#saveandclosebutton").hide();
} else {
$("#visitID").hide();
$("#importantSign").hide();
$("#saveandclosebutton").show();
}
}
});
});
on
вместо live
. "Начиная с jQuery 1.7, метод .live () устарел. Используйте .on () для присоединения обработчиков событий. Пользователи более старых версий jQuery должны использовать .delegate () вместо предпочтения .live ()."
$()
а не наon
если ошибка не является конкретной? Вы jQuery код, завернутый в событие загрузки jQuery?