javascript打印数组值动态

时间:2011-02-26 09:53:38

标签: javascript jquery arrays

大家好我在javascript中有问题我可以打印数组如果在html中修复它们但是我尝试在clic上打印它们它们不起作用只是打印数组名称 如果我打印seriesre simple它打印值很好,但当我检查任何复选框,并希望打印其中一个或两个它只显示数组名称而不是值

感谢您的帮助

检查此示例

$(document).ready(function() {
Comment     =  [['2011-01-29',7695],['2011-02-02',19805]];  
WallPost    =  [['2011-01-29',11115],['2011-02-02',8680]]; 
Likes       =  [['2011-01-29',5405],['2011-02-02',10930]]; 
var seriesre= [Comment,WallPost,Likes];
var mygraphs = new Array(); 
alert(seriesre);
$("#testCheck").click(function() {
    i=0;
    $("#testCheck :checked").each(function() {
        mygraphs[i]= $(this).val();

        i++;
    });
    newseriesre = "["+mygraphs+"]";
    alert(newseriesre);
});
});

<div class="activity">

                 <form method="POST" id="testCheck" name="myform">

                 Likes
                 <input type="checkbox" value="Likes" name="box2">

                 Comments
                 <input type="checkbox"  value="Comment" name="box3">
                Wall Post
                 <input type="checkbox" value="WallPost" name="box4">
               </form>
            </div>

4 个答案:

答案 0 :(得分:3)

您可以使用

alert(myarray.join())

提醒您数组的值

答案 1 :(得分:1)

您应该使用关联数组而不是数组,以便您可以根据名称查找数据作为字符串,而不是尝试查找变量。 Javascript中的所有对象都是关联数组,因此只需将数据放在对象中即可。

此外:

  • 在事件处理程序中创建mygraphs数组,否则在取消选中选项时无法收缩。
  • 点击表单内的复选框,而不是表单本身。
  • 在复选框周围放置一个label标签及其标签,这样标签也可以点击。
  • 您不需要索引变量来将值放在mygraphs数组中,只需使用push方法向其中添加项目。

http://jsfiddle.net/cCukJ/

使用Javascript:

$(function() {
    Comment = [['2011-01-29',7695],['2011-02-02',19805]];  
    WallPost = [['2011-01-29',11115],['2011-02-02',8680]]; 
    Likes = [['2011-01-29',5405],['2011-02-02',10930]]; 
    var seriesre = {
        'Comment': Comment,
        'WallPost': WallPost,
        'Likes': Likes
    };
    $("#testCheck :checkbox").click(function() {
        var mygraphs = [];
         $("#testCheck :checked").each(function() {
            mygraphs.push(seriesre[$(this).val()]);
        });
        alert("["+mygraphs+"]");
    });
});

HTML:

<div class="activity">
  <form method="POST" id="testCheck" name="myform">
    <label>
      Likes
      <input type="checkbox" value="Likes" name="box2">
    </label>
    <label>
      Comments
      <input type="checkbox"  value="Comment" name="box3">
    </label>
    <label>
      Wall Post
      <input type="checkbox" value="WallPost" name="box4">
    </label>
  </form>
</div>

答案 2 :(得分:0)

我了解您要在单击表单上的任何位置时提醒所选值?如果这是真正正确的代码,对现有代码的更改很少:

var mygraphs = [];
$("#testCheck").click(function() {
    $("#testCheck :checked").each(function() {
        mygraphs.push($(this).val());
    });

    alert("Selected values are: " + mygraphs.join(", "));
});

答案 3 :(得分:0)

你可以试试这个。

alert($("#testCheck :checked")
         .map( function(i, field) { return field.value}
         ).get());

http://jsfiddle.net/dharnishr/d37Gn/

中查看您的工作示例