2016-11-05 7 views
0

Вот мой код, я хочу получить информацию о элементе в функции щелчка, как говорит моя аннотация.Как передать переменную JavaScript в функции onClick

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', но использование' this' в 'onclick' будет действительным. – TomIsion

+0

он показывает (SyntaxError: ожидаемое выражение, получил конец скрипта) error @ tomlsion – user3478891

+0

Я новичок в 'php', вы могли бы попробовать мой измененный код. – TomIsion

ответ

0

Я вижу три проблемы в коде

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

Вы не concact переменную со строкой

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

    1. echo $shyam='\'+curname+\''; вы не можете установить переменную PHP со значением JS. 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' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ цитаты не нужны: 'onclick =" courierselect (\ '' + curname + '\', curid); ' – Robiseb

Смежные вопросы