0

表格

<form id="form1" name="form1" method="post" action="">
  name_field
  <input type="text" name="field_1" id="field_1" />
  <a href="#" id="dup" name="dup" >Use same</a>
  <input type="text" name="field_2" id="field_2" />
  <input type="text" name="field_3" id="field_3" />
  ...
  <input type="text" name="field_x" id="field_x" />
</form>

我正在寻找一个将 field_1 克隆到 field_1 直到 field_x 的 ajax 脚本。这是一种在所有球员身上填充球队名称的方法。

  $(".dup").click(function() {
    var myinput =  $( ".field_1" ).val();
    $("input[class^='field_']").html(myinput);
  });

$(".dup").live("click", function(e) {
    var count = $(".form1 fieldset").length + 1;
    $(this).parent().clone().insertBefore("#sbmt").find("input[type=text]").attr({
        "id": "input" + count,
        "name": "input" + count
    }).val("");
});

// 更新:

原来,may 字段是这种类型:并且更改以 3 的倍数进行。所以

<input id="field_1" type="text" name="Item[fields][1]" ><a href="#" id="dup1">Use Info</a>
<input id="field_2" type="text" name="Item[fields][2]" ><a href="#" id="dup2">Use Team</a>
<input id="field_3" type="text" name="Item[fields][3]" ><a href="#" id="dup3">Use Year</a>
<input id="field_4" type="text" name="Item[fields][4]" >
<input id="field_5" type="text" name="Item[fields][5]" >
<input id="field_6" type="text" name="Item[fields][6]" >
<input id="field_7" type="text" name="Item[fields][7]" >
<input id="field_8" type="text" name="Item[fields][8]" >
<input id="field_9" type="text" name="Item[fields][9]" >
....
<input id="field_2" type="text" name="Item[fields][x]" >


so clicking 
dup1, clone field[1] into [4],[7] ...[1+3(i)]  
dup2, clone field[2] into [5],[8],...[2+3(i)] 
dup3, clone field[3] into [6],[9],...[3+3(i)]

我不能使用 id 值,因为它不一致。它具有诸如 year_league66134 之类的值

4

4 回答 4

0

您还需要使用 .val 来设置值

  $(".dup").click(function() {
    var myinput =  $( ".field_1" ).val();
    $("input[name^='field_']").val(myinput);
  });
于 2013-08-30T06:11:21.707 回答
0

试试这个功能

function CreateInputText(index) {
        var input = document.createElement('input');
        input.setAttribute('type', 'text');
        input.setAttribute('id', 'field_' + index);
        input.setAttribute('name', 'field_' + index);
        $(input).insertBefore('#sbmt');
    }

如果您需要,您可以在准备好的文件上调用它

 $(document).ready(function () {
        for (var i = 0; i < 5; i++) {
            CreateInputText(i);
        }
    });
于 2013-08-30T06:14:08.910 回答
0

.val()

改变

 $("input[class^='field_']").html(myinput);

 $("input[class^='field_']").val(myinput);
于 2013-08-30T06:12:45.820 回答
0

使用.val(),您没有定义class和使用它而不是使用 id 属性来解决您的问题。

替换class

 $(".field_1").val();
 $("input[class^='field_']").html(myinput);

ID

 $("#field_1").val();
 $("input[id^='field_']").val(myinput);
于 2013-08-30T06:29:36.667 回答