Не удается получить свойство checkbox.checked - PullRequest
0 голосов
/ 08 февраля 2011

У меня есть некоторый код ASP.Net, который определяет флажок на стороне сервера следующим образом:

<asp:CheckBox ID="_chkWindAndHail" runat="server" Text="Wind / Hail Deductible" TextAlign="Right" Checked="true" onClick="onControlChanged()" />

Затем в обработчике событий на стороне клиента у меня есть Javascript, который выглядит следующим образом:

var chkWind = $("#<%= _chkWindAndHail.ClientID %>");
var hdnWind = $("#<%= _hdnWindAndHailPremium.ClientID %>");
var txtWind = $("#<%= _txtWindAndHailPremium.ClientID %>");
if (chkWind.checked)
    txtWind.val(hdnWind.val);
else
    txtWind.val(0);

Когда я пытаюсь посмотреть на значение свойства «флажок» текстового поля, Firebug говорит, что объект флажка хорош, но свойство «проверено» появляется «неопределенным» и, следовательно, в коде оно никогда не устанавливает правильное значение.

Может кто-нибудь объяснить мне, какого чёрта я делаю не так? Я новичок в JQuery, так что это, наверное, что-то очень простое.

Ответы [ 3 ]

3 голосов
/ 08 февраля 2011

Попробуйте

.is(':checked'); 

или

.attr('checked'); 

Оба должны вернуть результат, который вы ищете.

1 голос
/ 09 февраля 2011

Самый быстрый способ - получить свойство checked, но вам нужно сделать это из самого элемента DOM, хранящегося в объекте jQuery.

chkWind[0].checked;

При этом элемент DOM извлекается с индексом 0и дает вам свойство checked.Вы пытались получить его из объекта jQuery вместо элемента.

0 голосов
/ 08 февраля 2011

Попробуйте chkWind.attr ('флажок') для доступа к атрибуту.Значения возвращаются как true / false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...