使用jquery事件不起作用

时间:2012-11-17 13:24:39

标签: jquery html

<div id="form">
<form action="">
<input type="button" id="sub"/>
</form>
</div>

单击提交按钮时,将使用jquery更改内容。

Jquery代码:

$(document).ready(function() {
    $('#sub').live('click', function() {
        var reg = "<form action=''><input type='text' id='text'/><input type='button' is='sub2'/></form>";
        $('#form').replaceWith(reg);
    });
});
$(document).ready(function() {
    $('#sub2').live('click', function() {
        $('#text').text("Some content");
    });
});

但我的问题是内容没有写入输入框。我怎么能帮助你呢? 如何使用id文本更改输入框的背景颜色?

2 个答案:

答案 0 :(得分:2)

  

但我的问题是内容没有写入输入框。

您需要调用val()而不是text(),因为没有为输入文本类型定义text()。

$(document).ready(function(){
   $('#sub2').live('click', function () {
      $('#text').val("Some content");
   });
});

答案 1 :(得分:2)

您的代码包含语法错误。您在var reg = "...";字符串(action="")中使用双引号,需要将其转义或写为'

您还需要使用.val()来获取/设置输入元素的值,而不是.text()

也没有理由使用两个文档就绪函数 - 只需将所有内容放在同一个函数中。

最后但并非最不重要的是,live()已被弃用;请改用on()(请参阅有关如何正确使用它的jQuery文档)