我正在通过ajax函数生成一个表。但我需要添加onclick函数。在此函数中传递两个参数,一个是数字,另一个是名称。
控制器
$table.=' <td><input type="checkbox" value="" id="sp_'.$app_id.'" onclick="SpDetails('.$app_id.','.$app_details->app_name.');" /></td>'
echo $table;
脚本
function SpDetails(val,name)
{
alert(name)
}
但是当我发出警报时,我没有得到这个名字。
答案 0 :(得分:2)
你的参数没有引号所以它会抛出错误。使用\'
将参数作为字符串。
$table ='<td><input type="checkbox" value="" id="sp_'.$app_id.'" onclick="SpDetails(\''.$app_id.'\',\''.$app_details->app_name.'\');" /></td>';
那将用html写为
<input onclick="SpDetails('app_id','app_name');"> //that is just example
您的原始
<input onclick="SpDetails(app_id,app_name);"> //no quote so assume as variable
答案 1 :(得分:1)
"
id="sp_'.$app_id.'" "
已额外"foo \" foo"
。"$variable"
一样进行转义。 $table.=" <td><input type='checkbox' value='' id='sp_$a' onclick='SpDetails($a,\"$b\");' /></td>";
echo $table;
在字符串中传递变量。所以你的代码应该是这样的
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:serviceRequest xmlns:ns2="urn:example.com/xml/schemas/v1_0/">
<referenceNum>5361610270000002</referenceNum>
<client>ABCD</client>
<serviceName>GET.PERSONAL.DETAIL</serviceName>
<UserId>USER_1234</UserId>
<data><![CDATA[<ns2:getDetailRequest xmlns:ns2="urn:example.com/xml/schemas/v1_0/">
<HEADER>
<serviceName>GET.PERSONAL.DETAIL</serviceName>
<serviceType>SYNC</serviceType>
<serviceVersion>1.0</serviceVersion>
</HEADER>
</ns2:getDetailRequest>]]>
</data>
</ns2:serviceRequest>
</soap:Body>
</soap:Envelope>
答案 2 :(得分:0)
尝试以下:
onclick="SpDetails('" .$app_id. "','" .$app_details->app_name. "');"