开发者

How can I set the Name attribute of an input field using Jquery?

Quick question... I was wondering how I can get this to happen.

Okay I have an input field like such:

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

I would like to click on a div with an ID of #resetPrompt and fill the empty name attr from the input with "other_amount"

I'm out of ideas its been a long day

Thanks g开发者_开发知识库uys,

Matt


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


This is for all the googlers out there:

It should be noted that Alex's proposal, though functional in most "real" browsers, does not work in ie 8 and below (jquery 1.6.2). When setting the "name" attribute of an input field, Microsoft, to address a bug, added a fictitious "submitName" attribute when dynamic input fields are attached to the DOM.

To workaround the problem in ie, either force your users to upgrade, use Firefox, Chrome, etc. or you'll need to add the input field manually:

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


Assuming that "other_amount" is the name, not id of the corresponding input.

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


If "other_amount" is the ID of the other input, use attr and val as follows:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜