2016-11-01 6 views
0

Ich erzeuge eine Tabelle durch Ajax-Funktion. Aber ich muss onclick Funktion hinzufügen. Innerhalb dieser Funktion, die zwei Parameter übergibt, ist eine Zahl und anderes ist Name.Wie String-Parameter über onclick übergeben werden

-Controller

$table.=' <td><input type="checkbox" value="" id="sp_'.$app_id.'" onclick="SpDetails('.$app_id.','.$app_details->app_name.');" /></td>' 

echo $table; 

Skript

function SpDetails(val,name) 
{ 
    alert(name) 

} 

Aber ich den Namen nicht bekommen, wenn ich wach.

+0

Fehler Sie sehen? –

+0

Keine Fehler ..onclick funktioniert nicht, wenn ich den Parameter als name.otherwise okey – robins

+0

mit der rechten Maustaste und inspect-Taste, um zu sehen, was php drucken. Hinweis: Sie haben zusätzliche doppelte Anführungszeichen 'hier id =" sp _ '. $ App_id.' "" ' –

Antwort

1
  • Sie haben extra " hier id="sp_'.$app_id.'" ".
  • Übergeben Sie den zweiten Parameter als Zeichenfolge, damit Sie doppelte Anführungszeichen vermeiden.
  • Interne doppelte Anführungszeichen sollten wie folgt "foo \" foo" entkleidet werden.
  • Sie können Variable in Strings mit doppelten Anführungszeichen übergeben "$variable".

so sollte der Code wie folgt sein

$table.=" <td><input type='checkbox' value='' id='sp_$a' onclick='SpDetails($a,\"$b\");' /></td>"; 


    echo $table; 
+0

i removed.i habe den namen in den zitaten, wenn in inspect, aber die onclick funktion funktioniert nicht – robins

+0

alle zitate in script ..? – robins

+0

versuchen aktualisiert. Zitate sollte durch back slashes '\ '. –

0

Versuch folgende:

onclick="SpDetails('" .$app_id. "','" .$app_details->app_name. "');" 
+0

wie können wir '+' seine rein php verwenden – robins

+0

sry, antwort bearbeitet –

1

Ihre Parameter keine Quote hat, so dass es Fehler auslöst. Verwenden Sie \', um Parameter als Zeichenfolge zu definieren.

$table ='<td><input type="checkbox" value="" id="sp_'.$app_id.'" onclick="SpDetails(\''.$app_id.'\',\''.$app_details->app_name.'\');" /></td>'; 

, die in HTML als

<input onclick="SpDetails('app_id','app_name');"> //that is just example 

Ihre ursprünglichen schreiben wird, ist

<input onclick="SpDetails(app_id,app_name);"> //no quote so assume as variable 
Verwandte Themen