繁体   English   中英

输入值的jQuery对话框脚本

[英]jQuery dialog scripts for input val

我在jQuery对话框和脚本处理方式方面存在一些问题。

在对话框html中,我有

<input id="test"> 

如果我做

<script type="text/javascript>
   $('#test').val("haha")
</script>

输入 ,它显示了。 如果我把它放在前面 ,那是行不通的。 现在的问题是我试图使用单击触发器更改$('#test')的值,但我做不到!

   $('.testbutton').click(function() { 
          alert();      
          $('#test').val("haha");
    });

警报起作用,并且初始val替换起作用,这意味着没有重复或缺少输入区域。

现在的总脚本不起作用:

<input type="button" class="testbutton" />
<input type="text" size="10" id="test" name="test" value="">

 $('#test').val("currentvalue"); // This works
       $('.testbutton').click(function() { 
              alert();      
              $('#test').val("haha");
        });

更新一旦关闭然后重新打开对话框,该对话框将在#test中显示正确的值。 这可能是我所缺少的吗?

将您的jQuery代码放入$(document).ready(function () {...your code...}) 这将使其浏览器为您的页面创建DOM树之后执行。 否则,javascript无法正确搜索/处理DOM元素。 它将如下所示:

$(document).ready(function () {
    $('.testbutton').click(function() { 
          $('#test').val("haha");
    });
});

更新:

如果您的HTML代码是动态加载的,则使用live绑定事件处理程序:

$(document).ready(function () {
    $('.testbutton').live("click", function() { 
          $('#test').val("haha");
    });
});

我猜您应该将代码包装在$(function(){//此处的代码})内; 以确保仅在DOM准备就绪时才运行代码。

问题最终成为测试中的#。 由于某种原因,替换使用类标识符而不是ID标识符。 我想这是因为#将仅替换一个实例,并且由于我尚未发现的某些原因,该对话框有多个实例(或隐藏的实例)。

感谢您的所有建议!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM