簡體   English   中英

Javascript-如何在onclick事件中將數組作為參數傳遞?

[英]Javascript- How to pass array as parameter at onclick event?

我有一個數組,我想傳遞給javascript onclick函數。 我在按鈕的onclick事件中發送該數組。 onclick函數返回我[object Object]。 是否有不同的方法來調用該函數與數組?

我的代碼:

var data_type= $.parseJSON(data_playtype[1]);//{"1":"apple","2":"orange","23":"berry","8":"grape","9":"mango"}


str1.push('<td><a href="javascript:void(0)" onClick="showABC(\''+data_type+'\')">'Data'</td>');



function showABC(fruit){

    $.each(fruit,function(pid,pt){
        alert(pt);
    });

}

我有一個數組,我想傳遞給javascript onclick函數。 我在按鈕的onclick事件中發送該數組。 onclick函數返回我[object Object]。 是否有不同的方法來調用該函數與數組?

注意, data_typejs看起來不是Array ; data_type似乎是Object


嘗試使用.on() ,在click事件處理程序中調用showABC() ,並將data_type作為參數。

 var data_playtype = []; data_playtype[1] = JSON.stringify({ "1": "apple", "2": "orange", "23": "berry", "8": "grape", "9": "mango" }); var data_type = $.parseJSON(data_playtype[1]); //{"1":"apple","2":"orange","23":"berry","8":"grape","9":"mango"} var str1 = []; str1.push("<td><a href=javascript:void(0)>Data</a></td>"); function showABC(fruit) { $.each(fruit, function(pid, pt) { alert(pt); }); }; $("table tbody").append(str1).find("a") .on("click", function() { showABC(data_type) }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <table> <tbody></tbody> </table> 

DEMO

使用內聯JS不是一個好主意。 我會使用data屬性來保存數據,如下所示:

var data_type = .....;
var link = $('<a/>').data('data_type', data_type).html('Data');
str1.push( $('<td/>').html( link ) );

//event handler
link.on('click', function(e) {
    e.preventDefault();
    var data_type = $(this).data('data_type');
    .....
});

參考: https//api.jquery.com/data/

.data(鍵,值)

類型:String一個字符串,用於命名要設置的數據。

類型:任何新數據值; 這可以是除undefined之外的任何Javascript類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM