如何获得选择元素的价值以及如何对变化采取行动?
jQuery中的change()事件有问题:
$("select[name=cmm]").change(function(){ total(); });
由于某种原因,没有使用上面的代码调用“total”函数。 HTML代码是:
none the first the second
我指的是错误的方式或元素? 或者以错误的方式调用函数?
更新:这里的警报function没有显示,所以我猜测永远不会调用更改事件..
$(document).ready(function() { $("select[name=cms]").change(function(){ total(); alert($("select[name=cms]").length); }); });
(是的,我一直在使用doc-ready)
有关更新的问题:
确保您的代码在document.ready
处理程序中运行,因此元素位于DOM中并准备就绪,如下所示:
$(function() { $("select[name=cmm]").change(function(){ total(); }); });
对于上一个问题:
你错过了选择器上的第二个m
,它应该是:
$("select[name=cmm]").change(function(){ total(); });
或更短:
$("select[name=cmm]").change(total);
对于第二个,只需直接在上使用
.val()
来获取值,如下所示:
var iets = $("select[name=cmm]").val(); //or when calling .change(total) like above, inside total you can use: var iets = $(this).val();
当您指定option
它将获取第一个 的值,而不管选择了什么。
我假设它不是cm
与cmm
问题,并且你可能过早地分配onChange
处理程序,这意味着DOM尚未初始化。
//]]>
你的javaScript应该在DOM准备好之后执行,所以你必须使用jQuery的document.ready事件,如下所示:
//]]>
或者将它放在有问题的元素之后,如下所示:
//]]>
因为我用来设置select元素的插件,我遇到了这个问题。 我的问题的解决方案(因为onchange函数不起作用)在这里: http : //code.google.com/p/lnet/issues/detail?id = 41