Как я могу установить атрибут имени поля ввода, используя Jquery? - PullRequest
30 голосов
/ 26 февраля 2010

Быстрый вопрос ... Мне было интересно, как я могу это сделать.

Хорошо, у меня есть поле ввода, например:

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

Я хотел бы щелкнуть по элементу div с идентификатором #resetPrompt и заполнить пустое имя attr из ввода "other_amount"

У меня нет идей, это был долгий день

Спасибо, ребята,

Мэтт

Ответы [ 4 ]

58 голосов
/ 26 февраля 2010
$('#resetPrompt').click(function(){
    $('#input1').attr('name', 'other_amount');
});
4 голосов
/ 06 апреля 2012

Это для всех googlers там:

Следует отметить, что предложение Алекса, хотя и функционирует в большинстве "реальных" браузеров, не работает, например, в 8 и ниже (jquery 1.6.2). При установке атрибута «name» в поле ввода Microsoft для устранения ошибки добавила фиктивный атрибут «submitName», когда к DOM присоединены динамические поля ввода.

Чтобы обойти проблему, т. Е. Либо заставить пользователей обновляться, использовать 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\');" />');
});
1 голос
/ 26 февраля 2010

Предполагая, что "other_amount" - это имя, а не идентификатор соответствующего ввода.

$('#resetPrompt').click( function() {
   $('#input1').attr('name', $('[name=other_amount]').val());
});
1 голос
/ 26 февраля 2010

Если «other_amount» является идентификатором другого входа, используйте attr и val следующим образом:

$("#resetPrompt").click(function(){
    var otherValue = $("#other_amount").val();
    $("#input1").attr("name", "someName");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...