在新加载的表单上设置输入值

时间:2010-09-18 17:34:14

标签: jquery

我有这个链接创建一些div,其中表单通过load()加载。 此表单位于单独的php文件中。现在我想使用我的链接的ID值来设置输入字段的值,但是如何?

我知道我需要live(),但是值的设置应该是自动的,而不是在事件发生后。

这是下面的情况

main.php


[..]
<a href="form.php" rel="box" id="inputvalue">

form.php的


<form>
[..]
<input type="text" id="el">

我现在想要将'inputValue'(当加载form.php时)设置为$(“#el”)的新值,但是如何?

我的javascript文件在main.php中,我加载form.php的方式就像这样


$("a").click(function(){
 if(this.rel == "box"){
  [..]
  $("#container").load("form.php");

当显示表单时,我想更改输入的值

3 个答案:

答案 0 :(得分:4)

提供一个完全相同的回调函数。您可以将其作为load()的第二个参数传递。

var linkId = this.id;
$("#container").load("form.php", function() {
    $(this).find('#el').val(linkId);
});

请注意,在文档中使用具有相同id的多个元素是个坏主意。你的代码就是建议有这样的多个链接。

答案 1 :(得分:0)

提供一个回调函数来加载,一旦加载完成就会执行:

$("a").click(function(){
 if(this.rel == "box"){
  var clicked = this;
  $("#container").load("form.php", function() {
     $("#el").val( $(clicked).attr("id") );
  });

答案 2 :(得分:0)

您可以使用此处提供的liveQuery插件:http://brandonaaron.net/code/livequery/docs。它有点像live(),但不是绑定事件,而是为每个匹配的元素执行代码。