【问题标题】:How Can I concatenate a parameter string in javascript function on string in appended html?如何将javascript函数中的参数字符串连接到附加html中的字符串上?
【发布时间】:2013-11-02 04:13:23
【问题描述】:

这是我的html代码

 <div id="content"></div> 

然后我在#content 中附加一个注释:

 $( document ).ready(function() {
  // Handler for .ready() called.
       var parameter = "<p>Hola</p>";
       $("#content").append('<div><p>click the button</p>'+
                     '<input type="submit" name="submit_answers" value="Submit" onclick="getValue();" >'+  
                     '<input type="submit" name="submit_answers" value="Submit" onclick="'+getValue2(parameter)+'" >'+                        
                     '</div>');
});

function getValue2(parameter){
    alert(parameter);
}

function getValue(){
    alert("Hola");
}

第一个输入效果很好,但是在文档准备好后第二个输入就不起作用了。在这种情况下,声明函数的更好方法是什么?

【问题讨论】:

    标签: javascript jquery html append concatenation


    【解决方案1】:

    我认为您可能只是没有正确分离。

    试试这个例子:

    onclick= "mySup(\''+json.id+'\',\''+json.description+'\');"
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      onclick="getValue2("' + parameter + '")"
      

      但是像这样会更好:

      var $div = $('<div><p>click the botton</p></div>');
      var $button = $('<input type="submit" name="submit_answers" value="Submit">')
          .data('parameter', parameter)
          .click(function () {
              getValue2($(this).data('parameter'));
          }).appendTo($div);
      
      $("#content").append($div);
      

      【讨论】:

        【解决方案3】:

        第二个输入应该是这样的。

        '<input type="submit" name="submit_answers" value="Submit" onclick="getValue2('+parameter+')" >'
        

        【讨论】:

        • 是的!它仅适用于数字参数。要解决字符串问题,您需要将参数变量放在撇号“getValue2("'+parameter+'")”之间。
        【解决方案4】:

        试试这个:

        $( document ).ready(function() {
        // Handler for .ready() called.
           var parameter = "<p>Hola new</p>";
           $("#content").append('<div><p>click the botton</p>'+
                         '<input type="submit" name="submit_answers" value="Submit" onclick="getValue();" >'+  
                         '<input type="submit" name="submit_answers" value="Submit" onclick="getValue2(\''+parameter+'\');" >'+                        
                         '</div>');
        });
        

        【讨论】:

          【解决方案5】:

          你可以试试这个:

          '<input type="submit" name="submit_answers" value="Submit" onclick="getValue2(\'' + parameter + '\');" >'
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-04-23
            • 2012-01-12
            • 1970-01-01
            • 2013-08-16
            • 2016-07-03
            • 1970-01-01
            • 2016-03-02
            相关资源
            最近更新 更多