обрабатывать флажок с селектором класса - PullRequest
2 голосов
/ 24 мая 2011

У меня есть <asp:Checkbox />, и я хочу посмотреть, проверено ли оно через jQuery.Проблема в том, что он всегда возвращает false.Связано ли это с тем, что я выбираю элемент с помощью класса?

JS

$(document).ready(initialize);

var map;

function initialize() {

    var x;
    x = $(".chkSetMap");
    x.click(setMap);
}

function setMap() {

    if ($('.chkSetMap').attr('checked') == true) {
        $(".comboMap").attr("disabled", true);

    }
}

флажок

    <asp:CheckBox ID="chkSetMap" CssClass="chkSetMap" runat="server" />

флажок отображается

<span class="chkSetMap"><input id="ctl00_ContentPlaceHolder1_chkSetMap" type="checkbox" name="ctl00$ContentPlaceHolder1$chkSetMap" /></span>

Ответы [ 3 ]

1 голос
/ 25 мая 2011

ASP.NET помещает CssClass в <span> (куда пойдет любой Text). Итак, ваш селектор поднимает <span>.

Попробуйте использовать дочерний селектор , чтобы установить флажок: $('.chkSetMap > input:checkbox')

1 голос
/ 24 мая 2011

Попробуйте использовать метод .is() и селектор сокращений :checked

$(document).ready(initialize);

var $chkSetMap;

function initialize() {
    $chkSetMap = $(".chkSetMap input:checkbox").click(setMap);
}

function setMap() {
    $(".comboMap").attr("disabled", $chkSetMap.is(':checked'));
}

рабочий пример: http://jsfiddle.net/hunter/5XA7D/ ОБНОВЛЕНО!


Так как серверные элементы управления ASP.Net потрясающие, он включает ваш флажок в span. span имеет класс chkSetMap, а не флажок.

0 голосов
/ 25 мая 2011

Вы можете просто иметь анонимную функцию.(#content - это то, что div - это div на вашей странице, в котором есть все входы, которые вы ищете).Эта функция отключит ВСЕ раскрывающиеся списки класса .comboMap, если установлен ЛЮБОЙ из флажков chkSetMap.Если у вас есть только 1 флажок и один выбор - используйте вместо этого идентификаторы

$(document).ready(function() {

$(function() {
    $('.chkSetMap').click(function() {
        if ($(this).is(':checked')) {
            $("#content").find('.comboMap').attr("disabled", true);
        }else{
        $("#content").find('.comboMap').attr("disabled", false);
        }
    });

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