Привет у меня есть следующий HTML:
<p>
<input type="text" name="field1"/> <input type="hidden" name="fieldh1"/>
<button type="button" class="sendInfo">Send</button>
</p>
<p>
<input type="text" name="field2" /> <input type="hidden" name="fieldh2"/>
<button type="button" class="sendInfo">Send</button>
</p>
То, что я хочу, - то, что, когда пользователь нажимает кнопку, я должен отправить использование ajax содержание полевого поля.
Это - то, что я пытаюсь сделать без успеха.
$(function() {
$('button.sendInfo').live('click', function() {
var id = $(this).parent().next('[type=text]').val();
alert(id);
});
});
Я планирую установить то, что пользователь вводит в текстовом поле к скрытому полю, и значение, полученное от ajax, звонит в нормальное текстовое поле. Но проблема состоит в том, что я не могу даже получить значение текстового поля, которое находится в той же строке как кнопка пользовательские щелчки. Кто-либо может помочь мне?Большое спасибо.
Попробуйте:
$(this).siblings('input:text').val();
Или измените next
на find
:
$(this).parent().find('[type=text]').val();
так как next
ищет только в ближайшем следующем сиблинге.
Ваша проблема в том, что "next()" переходит к следующему брату родителя - а родителем является тег , поэтому братом, если он существует, является следующий тег
.
Вы хотите $(this).parent().children('[type=text]').val()
или $(this).parent().find('[type=text]')
Можете ли вы выбрать текстовое поле с помощью идентификатора?
$(function() {
$('button.sendInfo').live('click', function() {
//what about this:
var id = $('#textBoxID').val();
alert(id);
//or this
var id2 = $('+ input', this).val();
alert(id2);
});
});