0

我想将一组选中的行传输到颜色框,以下代码不起作用,有人知道吗?

$(function() {
  var kid = $("input[type=checkbox][checked]").each(function(i) {
    var arr = [];
    arr[i] = $(this).val();
  });

 $("#kontakte_bezButton1_{kontakte_bez:rowNumber}").colorbox({
    href:"testpage1.php?kid=" + arr,
    iframe:true,
    innerWidth:850,
    innerHeight:400,
    opacity:0.1,
    overlayClose:false,
  });
});
4

2 回答 2

0

您已arr在函数中定义

function(i) {
var arr = [];
arr[i] = $(this).val();
}

这个leave it for having only scope within that funct

你必须给它global scope在其他地方使用它,即。你必须全局定义它

像这样定义:

$(function() {
var arr =[];
于 2013-03-10T09:51:15.033 回答
0

您应该构建一个 url 获取参数字符串:

  <script>
         $(function() {
              var data = {kid:[]}; // we put here all checkbox value
              $("input[type=checkbox][checked]").each(function() {   //iterate over all checked checkboxes
                   data.kid.push($(this).attr('id'));           //push the id of checkbox to data.kid array
              });

              $("#kontakte_bezButton1_{kontakte_bez:rowNumber}").colorbox({
                   href:"testpage1.php?" + $.param(data),   //create $_GET parameter string
                   iframe:true,
                   innerWidth:850,
                   innerHeight:400,
                   opacity:0.1,
                   overlayClose:false
              });
        });
  </script>

$.param 函数 ( http://api.jquery.com/jQuery.param/ ) 从对象生成获取参数字符串。在此示例中,结果如下:

  kid[]=1&kid[]=4&....
  (in urlencoded format: kid%5B%5D=1&kid%5B%5D=4 )
于 2013-03-10T09:53:43.010 回答