如何使用Jquery设置输入字段的Name属性?

时间:2010-02-25 22:26:59

标签: jquery forms attributes

快速提问......我想知道如何才能实现这一目标。

好的,我有一个像这样的输入字段:

<input type="text" id="input1" size="10" name="" value="" class="checked other_amount" onfocus="Toggle('radio1', 'input1');" />

我想点击ID为#resetPrompt的div,并使用“other_amount”填充输入的空名称attr

我的想法已经过了漫长的一天

谢谢你们,

马特

4 个答案:

答案 0 :(得分:57)

$('#resetPrompt').click(function(){
    $('#input1').attr('name', 'other_amount');
});

答案 1 :(得分:4)

这适用于所有的googlers:

应该注意的是,Alex的提议虽然在大多数“真实”浏览器中起作用,但在8及以下(jquery 1.6.2)中不起作用。设置输入字段“name”属性时,为了解决错误,在动态输入字段附加到DOM时添加了虚构的“submitName”属性。

要解决问题,或者强制用户升级,使用Firefox,Chrome等,或者您需要手动添加输入字段:

$("#resetPrompt").click(function(){
   $("#input1").remove();
   $("#input_container").append('<input id="input1" name="' + other_amount + "' type="text" class="checked other_amount" onFocus="Toggle(\'radio1\', \'input1\');" />');
});

答案 2 :(得分:1)

如果“other_amount”是其他输入的ID,请按以下方式使用attrval

$("#resetPrompt").click(function(){
    var otherValue = $("#other_amount").val();
    $("#input1").attr("name", "someName");
}

答案 3 :(得分:1)

假设“other_amount”是名称,而不是相应输入的id。

$('#resetPrompt').click( function() {
   $('#input1').attr('name', $('[name=other_amount]').val());
});