Я пытаюсь заставить работать скрипт jQuery, который подберет выбранное значение в RadioButtonList. Я делал обычные вещи, когда не мог запустить скрипт - вырезал и вставлял чужой на пустую страницу, заставлял его работать, а затем копировал на нужную страницу.
Однако я пробовал три разных сценария, которые используют разные подходы к определению выбранного значения, но я не могу заставить работать какой-либо из них, хотя комментарии на некоторых веб-страницах, с которых я их получил, похоже, предполагают работаем для других людей.
Этот скрипт генерирует нераспознанную ошибку выражения:
//In head with prior reference to local copy of jquery-1.4.1.js
<script language="javascript">
$(document).ready(function() {
$("#btnSubmit").click(function() {
alert($("#RadioButtonList1").find("input[@checked]").val());
});
});
</script>
//In body
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:RadioButtonList>
<input id="btnSubmit" type="button" value="Submit" />
В следующем коде окно оповещения justs выдает «undefined» (обратите внимание, что я пробовал как с удаленной ссылкой, так и со ссылкой на локальную копию jquery-1.4.1.js)
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem Text="Yes" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="2"></asp:ListItem>
</asp:RadioButtonList>
</div>
<input type="button" id="btnTest" value="Uncheck" />
</form>
</body>
<script type="text/javascript">
$('#btnTest').click(function () {
alert($('#<%=RadioButtonList1.ClientID %> input[type=radio]:checked').val());
});
</script>
</html>
Я также попробовал следующее на базовой HTML-странице (т.е. не asp.net), и она ничего не делает
//In head
$("input[@name='option_layout']").change(
function()
{
if ($("input[@name='option_layout']:checked").val())
$(".group").toggleClass("group_vert");
else
$(".group").toggleClass("group_vert");
$(this).blur();
}
);
//In body
<input type="radio" name="option_layout" value="0" checked="checked" />
<input type="radio" name="option_layout" value="1" />
Я пытался изменить .change на .click, поскольку я знаю, что в IE есть ошибка с .change, хотя я безуспешно тестировал и IE, и Fiefox. Я также попытался обернуть код внутри блока $ (document) .ready (function (), но без разницы. Я также попытался добавить окно предупреждения в первую строку функции, но оно снова вызывает нераспознанную ошибку выражения.
Кто-нибудь знает, что здесь происходит не так?