2014-05-23 42 views
0

我有一個存儲數據庫表中值的複選框。因此,當我將它們顯示在我的頁面上時,它包含一組值。將複選框值傳遞給Javascript函數時出錯

<input type="checkbox" id="chkdelt[<?php echo $id; ?>]" name="chkdelt[]" value="<?php echo $id; ?>"> 

上面給出的是複選框的代碼。

我有一個彈出塊顯示選中複選框的計數。

<div class="popup"> 

    Show count here <span id="numb"></span> 
<button type="button" onclick="paz(<?php echo json_encode(chkdelt); ?>);">Click</button> 
    </div> 

而且我能夠使用下面給出的這個javascript函數成功顯示計數。

// used to show number of checked checkboxes in popup 
      function dumpInArray(){ 
       var arr = []; 
       $('.table-responsive input[type="checkbox"]:checked').each(function(){ 
        arr.push($(this).val()); 
       }); 
       return arr.length; //returns no of checked check boxes 


      } 

      $('.select_chk').click(function() { 
       $('#numb').html(dumpInArray()); // output of dumpInArray() written into numb span 

      }); 

我試着將這個數組傳遞給一個Javascript函數,同時點擊彈出窗口中的按鈕。下面

我的JavaScript給出:

function paz(a) 
      { 
       var temp = new Array(); 
       temp = JSON.parse(a); 
       for(i=0;i<temp.length;i++) 
       { 
        alert(temp[i]); 
       } 
      } 

的值不會被傳遞到拉巴斯()在Javascript。休息工作正常。當我單擊彈出式div中的按鈕時,我想將所有選中的複選框的值傳遞給paz()。

謝謝。幫幫我???

回答

0

您需要將參數作爲字符串傳遞給JavaScript函數。

您將它們作爲變量傳遞,而變量又將變爲undefined

將參數作爲字符串傳遞使用function_name('arg')function_name("arg")

<button type="button" onclick="paz(<?php echo json_encode(chkdelt); ?>);">Click</button> 

<button type="button" onclick="paz('<?php echo json_encode(chkdelt); ?>');">Click</button> 

此外,我會建議你使用<input type="button" />代替<button> &我想如果chkdelt是在PHP變量名,你會:

在你的代碼更改

所以需要使用$之前的標誌,並使用json_encode($chkdelt)

希望它能幫助你..乾杯:)!

+0

沒有變化..當我點擊刪除按鈕...值不傳遞給JavaScript。如果值被傳遞,警報將顯示值,@Vedant Terkar –

+0

@TheJoker你可以在處理php後發佈實際的'html'輸出嗎?在瀏覽器中打開'php'頁面,然後使用'view source'來獲取實際的'html'。或者只是嘗試在''paz(a)''''a'的輸出中提示'a'? –

+0

@ Vedant Terkar –