如何将jquery var传递给jquery函数?

时间:2014-01-23 16:09:53

标签: jquery html

我有一个像这样的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 ");将不会被警告。

我不知道上面代码中我做错了什么?

3 个答案:

答案 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键查看结果,然后转到控制台标签。