Как найти выбранные элементы jQuery DropDownCheckList - проблема с синтаксисом jQuery - PullRequest
3 голосов
/ 09 ноября 2010

Я работаю над веб-страницей ASP.Net, которая будет использовать выпадающий список jQuery (http://code.google.com/p/dropdown-check-list/).. Я довольно неопытен в JavaScript и совершенно не знаком с jQuery.

То, что я хочу сделать, это собирать значения выбранных элементов каждый раз, когда флажок установлен / снят.

Вот что у меня есть:

var values = "";
$("#s1").change(function () {
     $("#s1").dropdownchecklist(function(selector) {
          for (i = 0; i < selector.options.length; i++) {
               if (selector.options[i].selected && (selector.options[i].value != "")) {
                    if (values != "") values += ",";
                    values += selector.options[i].value;
               }
          }
     });
});

Я думаю, что проблема в 3-й строке, но я не совсем уверен, что не так.

Если бы кто-нибудь мог указать мне правильное направление, я был бы признателен. Заранее спасибо.

Ответ на zod ... Спасибо, это было именно то, что мне было нужно. Тем не менее, у меня все еще есть какая-то синтаксическая ошибка. Вот мой код:

var values = "";
$("#s1").change(function () {
     $("#s1 option:selected").each(function () {
          if (values != "") values += ",";
          values += $(this).value();
     });
     alert(values);
});

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

Это несколько не по теме, но есть ли инструменты, облегчающие работу с JavaScript и jQuery? Я был избалован работой с Visual Studio и использованием его отладчика и intellisense. Есть ли что-нибудь подобное для JavaScript и jQuery?

Ответ Эндеру ... Вот это да. Мне нравится ваше решение. Да, я склонен слишком усложнять вещи. Я не уверен, что я сделал не так, когда попробовал решение Zod, оно, вероятно, тоже работает, но я думаю, что пойду с более простым.

Спасибо за помощь.

Ответы [ 2 ]

6 голосов
/ 09 ноября 2010

Тебе не нужно подходить так же, как ты.Внутри вашего события .change() просто получите доступ к .val() выбора, чтобы получить значения отмеченных элементов.Как это:

$(function() {
    $("#s1").dropdownchecklist();

    $('#s1').change(function() {
        alert($(this).val());
    });
});

Смотрите демонстрацию здесь: http://jsfiddle.net/Ender/ZsMc4/

0 голосов
/ 09 ноября 2010

Вы пробовали .change ()

отметьте это

http://api.jquery.com/change/

http://www.texotela.co.uk/code/jquery/select/

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