2010-11-09 36 views
3

我正在使用jQuery下拉清单(http://code.google.com/p/dropdown-check-list/)的ASP.Net网页。我对JavaScript并不熟悉,对jQuery也是全新的。如何找到jQuery DropDownCheckList选定项目 - 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并使用其调试器和智能感知。 JavaScript和jQuery有类似的东西吗?

对安德的回应... 哇。我喜欢你的解决方案。是的,我倾向于过度复杂的事情。 我不确定当我尝试zod的解决方案时我做错了什么,它可能也适用,但我想我会用更简单的方法。

感谢您的帮助。

+0

不要担心,我花了约15分钟,在更复杂的解决方案的工作之前,我意识到多么容易它是:) – Ender 2010-11-09 18:37:12

回答

6

你并不需要得到附近的梦幻色彩,你是任何地方。在您的.change()事件中,只需访问select的.val()以获取检查项目的值。就像这样:

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

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

见现场演示在这里:http://jsfiddle.net/Ender/ZsMc4/