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

urlgetパラメータ文字列を作成する必要があります。

  <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/)は、オブジェクトからgetパラメーター文字列を生成します。この例では、次のような結果になります。

  kid[]=1&kid[]=4&....
  (in urlencoded format: kid%5B%5D=1&kid%5B%5D=4 )
于 2013-03-10T09:53:43.010 に答える
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 に答える