读书人

Jquery解决方案

发布时间: 2012-12-15 15:16:03 作者: rapoo

Jquery
在写Jquery代码的时候为什么我定义了一位数组 var arr=new Array();但是运行的时候老是弹出javascript未定义arr啊
[最优解释]
$("input[name=names]").click(function () {
var arr = new Array();
$("input[name=names]:checked").each(function (key, value) {
arr[key] = $(value).val();
});
});
$("#msgNames").text("共选中" +arr.length + "项:" + arr.join(","));

这句话放到click里面的function里面试试的
[其他解释]
贴代码看看..
[其他解释]
你在哪里定义,又是在哪里调用的?
[其他解释]
alert($('input:[name=names]:checked').length);
[其他解释]
很明显定义的arr过了生命周期,所以成为了未定义的arr
$("#msgNames").text("共选中" +arr.length + "项:" + arr.join(","));
这句应该放在click函数里面才可以的
[其他解释]
明显arr定义在click事件里了,事件完成释放了就
$("#msgNames").text("共选中" +arr.length + "项:" + arr.join(","));
再说你这句话,页面加载的时候调用一次,点击事件根本不会走它
[其他解释]
这就跟变量的作用域一样。
[其他解释]

引用:
$("input[name=names]").click(function () {
var arr = new Array();
$("input[name=names]:checked").each(function (key, value) {
arr[ke……



正解
[其他解释]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("input[name=names]").click(function () {
var arr = new Array();
$("input[name=names]:checked").each(function (key, value) {
arr[key] = $(value).val();


});
});
$("#msgNames").text("共选中" +arr.length + "项:" + arr.join(","));
});
</script>
</head>
<body>
<input type="checkbox" name="names" value="jim" />jim
<input type="checkbox" name="names" value="tom" />tom
<input type="checkbox" name="names" value="jine" />jine
<p id="msgNames"></p>
</body>
</html>

[其他解释]
哦哦,明白了

读书人网 >C#

热点推荐