我有一个像这样的jquery命令
if (resultEXTP == "1"){
$("#generalInfo" ).append("<th><a class='rown'>Extra packing :</a>\
<input checked id='extrapack' class='css-checkbox' type='checkbox' onClick='extrpk('"+gotid+"')' ></th>");
} else {
$("#generalInfo" ).append("<th><a class='rown'>Extra packing :</a>\
<input id='extrapack' class='css-checkbox' type='checkbox' onClick='extrpk('"+gotid+"')' ></th>");
}
将标记附加到generalInfo表。
如您所见,此HTML标记必须调用jquery函数:
function extrpk(valorderId){
alert ("i am running " + valorderId);
// checks if extrapacking requested
if( $('#extrapack').attr('checked') == true )
{
// extrapacking is checked adding to the price
var classNam = valId;
//$('.needord').attr('id');
.... the rest of the code
要传递一个jquery var,getid到函数extrpk让函数处理它。
如果我将gotid放在<input checked id=
中,然后将get id传递给click(this.id),则此函数有效。我的意思是我可以得到警报。
但是,如果我如上所示通过它,alert ("i am running ");
将不会被警告。
我不知道上面代码中我做错了什么?
答案 0 :(得分:0)
只需使用标准事件处理程序。我已经大大清理了代码,使其更易于理解:
var $th = $("<th><a class='rown'>Extra packing :</a></th>"),
$input = $("<input id='extrapack' class='css-checkbox' type='checkbox' />");
$input.on("click", function() {
extrpk(gotid);
});
if (resultEXTP === "1") {
$input.prop("checked", true);
}
$th.append($input);
$("#generalInfo").append($th);
答案 1 :(得分:0)
我问题的唯一答案是:
$("#generalInfo" ).append("<th><a class='rown'>Extra packing :</a>\
<input checked id='"+gotid+'<separator>'+idname+"' class='css-checkbox' type='checkbox' onClick='extrpk(this.id)' ></th>");
然后在extrpk()函数中拆分分隔符,然后获取标记id和gotid
感谢大家帮助我。
答案 2 :(得分:-1)
动态控制后......您需要拨打console.log()
而不是alert()
您可以使用浏览器中的F12
键查看结果,然后转到控制台标签。