2016-11-05 78 views
0

這裏是我的代碼,我想要獲取點擊函數中的元素信息,就像我的註釋所說的那樣。如何在onClick函數中傳遞JavaScript變量

for(var i = 0, len = json.length; i < length; i++) { 
    var curid = json['success'][i]['courier_id']; 
    var curname = json['success'][i]['courier_name']; 
    document.getElementById("gsid").value=curname;      
    var tr="<tr>&nbsp;&nbsp;"; 

    //here is where i want to use onclick function with curid and curname 
    var td1="<td>"+"<input type='radio' name='as' value='json['success'][i]['courier_id']' id='curiid' onclick='courierselect(<?php echo $shyam='\'+curname+\''; ?>);'/>"+"</td>&nbsp;&nbsp;"; 
    var td2="<td id='curnname'>"+json['success'][i]['courier_name']+"</td>&nbsp;&nbsp;"; 
    var td3="<td>"+json['success'][i]['country_charge']+"</td>&nbsp;&nbsp;"; 
    var td4="<td>"+json['success'][i]['estimate_delivery_time']+"</td>&nbsp;&nbsp;"; 
    var td5="<td>"+json['success'][i]['tracking_available']+"</td></tr>&nbsp;&nbsp;"; 
    $("#results").append(tr+td1+td2+td3+td4+td5); 
} 
+0

也許你可以試試'的​​onclick ='courierselect(<?PHP的echo $希亞姆= '\'+ this,curname + \'';?>);''。我不知道'php',但在'onclick'中使用'this'將會有效。 – TomIsion

+0

它顯示(SyntaxError:預期的表達式,得到腳本的結尾)錯誤@ tomlsion – user3478891

+0

我是'php'中的新手,你可以試試我更改過的代碼。 – TomIsion

回答

0

我看到你的代碼三個問題

  • ... value='json['success'][i]['courier_id']' ...

你沒有用字符串

  • ... courierselect(<?php echo $shyam='\'+curname+\''; ?>) ...

    交流聯繫的變量
    1. echo $shyam='\'+curname+\'';您無法使用JS值設置PHP變量。 Understand why
    2. echo一個字符串值,所以你必須要加一些引號curname

for(var i = 0, len = json.length; i < length; i++) { 
    var curid = json['success'][i]['courier_id']; 
    var curname = json['success'][i]['courier_name']; 
    document.getElementById("gsid").value = curname; 

    $("#results").append('<tr>&nbsp;&nbsp;'); 
    $("#results").append('<td><input type="radio" name="as" value="' + curid + '" id="curiid" onclick="courierselect(\'' + curname + '\');"/></td>&nbsp;&nbsp;'); 
    $("#results").append('<td id="curnname">' + curname + '</td>&nbsp;&nbsp;'); 
    $("#results").append('<td>' + json['success'][i]['country_charge'] + '</td>&nbsp;&nbsp;'); 
    $("#results").append('<td>' + json['success'][i]['estimate_delivery_time'] + '</td>&nbsp;&nbsp;'); 
    $("#results").append('<td>' + json['success'][i]['tracking_available'] + '</td></tr>&nbsp;&nbsp;'); 
} 
+0

Thanx你先生你的代碼工作:)最後一個,如果我想通過多個變量比我可以做到這一點{courierselect(\''+ curname +'\',\ ''+ curid +'\')} – user3478891

+0

是的,您可以:'onclick =「courierselect(\''+ curname +'\',\''+ curid +'\');'。如果'curid'是_int_,引號是沒有必要的:'onclick =「courierselect(\''+ curname +'\',curid);' – Robiseb

相關問題