$("select[name=cmm]").change(function(){
total();
});
由于某种原因,上面的代码没有调用“total”函数。 html代码为:
<select name="cmm">
<option value="none">none</option>
<option value="one">the first</option>
<option value="two">the second</option>
</select>
我是否以错误的方式引用了该元素?或者以错误的方式调用函数?
<小时/>更新: 这里的警报功能没有显示,所以我猜测更改事件永远不会被调用..
$(document).ready(function() {
$("select[name=cms]").change(function(){
total();
alert($("select[name=cms]").length);
});
});
(是的,我一直在使用 doc-ready)
最佳答案
更新问题:
确保您的代码在 document.ready
中运行处理程序所以 <select>
元素已在 DOM 中并准备就绪,如下所示:
$(function() {
$("select[name=cmm]").change(function(){ total(); });
});
<小时/>
对于上一个问题:
你错过了第二个 m
在您的选择器上,它应该是:
$("select[name=cmm]").change(function(){ total(); });
或更短:
$("select[name=cmm]").change(total);
对于第二个,只需使用 .val()
直接上<select>
获取值,如下所示:
var iets = $("select[name=cmm]").val();
//or when calling .change(total) like above, inside total you can use:
var iets = $(this).val();
当您指定option
时它获取第一个 <option>
的值,无论选择什么。
关于javascript - 如何获取选择元素的值以及如何对变化采取行动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4009356/