如何找到jQuery DropDownCheckList所选项 - jQuery语法问题

时间:2010-11-09 17:46:05

标签: javascript jquery syntax

我正在开发一个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有类似的东西吗?

对Ender的回应...... 哇。我喜欢你的解决方案。是的,我倾向于过于复杂化。 当我尝试zod的解决方案时,我不确定我做错了什么,它可能也有效,但我想我会选择更简单的解决方案。

谢谢你的帮助。

2 个答案:

答案 0 :(得分:6)

你不需要像你一样喜欢任何地方。在.change()事件中,只需访问select的.val()即可获取已检查项目的值。像这样:

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

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

在此处观看现场演示:http://jsfiddle.net/Ender/ZsMc4/

答案 1 :(得分:0)