Измените значение нескольких динамически генерируемых PHP текстовых полей с помощью jquery - PullRequest
0 голосов
/ 04 ноября 2011

Я сгенерировал несколько текстовых полей, используя PHP с name="student[<?php echo $StudentID ; ?>]".

Теперь, нажав кнопку, я хочу изменить значение всех этих текстовых полей, используя jquery.

Как мне это сделать? Пожалуйста, помогите.

Ответы [ 3 ]

1 голос
/ 04 ноября 2011

HTML

<input type="text" name="student[]"></input>
<input type="text" name="student[]"></input>
<input type="text" name="student[]"></input>

<button id="button">Change</button>

JavaScript

$('#button').click(function() {
    $('input[name^="student"]').val('some value ');
});

JSFiddle

1 голос
/ 04 ноября 2011

Вы также можете просто добавить класс, который уникален для всех этих текстовых полей (то есть changableTextBox), а затем выбрать его и изменить их все сразу. Это также полезно в будущем, если вам нужно настроить некоторые стили на всех сразу. Просто объявите этот класс в CSS, и вы создадите стиль.

<input type="text" class="changeableStudentTextBox" id="student[11]" />
<input type="text" class="changeableStudentTextBox" id="student[23]" />
<input type="text" class="changeableStudentTextBox" id="student[45]" />
<input type="text" class="changeableStudentTextBox" id="student[66]" />

<script type="text/javascript">
     $('#button').click( function() { $('.changeableStudentTextBox').val('hi!'); });
</script>
1 голос
/ 04 ноября 2011

Вы можете использовать Атрибут начинается с селектора , чтобы искать student[ в начале атрибута имени:

$('input[name^="student["]').val('the new value');

Вероятно, нет необходимости включать [ в конце, и name^="student" будет достаточно, если у вас нет других вводов с именами, такими как student_name или подобными.

// If no conflicting named inputs, use
$('input[name^="student"]').val('the new value');
...