我正在开发一个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的解决方案时,我不确定我做错了什么,它可能也有效,但我想我会选择更简单的解决方案。
谢谢你的帮助。
答案 0 :(得分:6)
你不需要像你一样喜欢任何地方。在.change()
事件中,只需访问select的.val()
即可获取已检查项目的值。像这样:
$(function() {
$("#s1").dropdownchecklist();
$('#s1').change(function() {
alert($(this).val());
});
});
在此处观看现场演示:http://jsfiddle.net/Ender/ZsMc4/
答案 1 :(得分:0)