Я не эксперт в JQuery. Я хотел бы получить идентификатор определенного родительского селектора.
Моя страница содержит следующие
<p>
getting this <input id="comment16" type="button" value="Comment" disabled="">
<div class="form" style="">
<form id="comment-form" method="post" action="/post/index.php/comment/create?post_id=16">
<p class="note">Fields with <span class="required">*</span>are required.</p>
<div id="comment-form_es_" class="errorSummary" style="display:none">
<p>Please fix the following input errors:</p>
<ul><li>dummy</li></ul>
</div>
<div class="row">
<label class="required" for="comment_comment"> Comment
<span class="required">*</span>
</label>
<input id="comment_comment" type="text" name="comment[comment]" maxlength="140" size="60">
<div id="comment_comment_em_" class="errorMessage" style="display:none"></div>
</div>
<div class="row buttons">
From here <p> <input id="save" type="button" value="Create"> </p>
<p> <input id="cancelcomment" type="button" value="Cancel"></p>
</div>
</form>
</div>
</p>
Я попробовал это
$('body').on('click','#save',function(e) {
var $thisClicked = $(this);
var parameter = $thisClicked.attr("id");
$("#comment-form").submit(function(e) {
var postData = $(this).serializeArray();
var parameter = $thisClicked.parent('div').parent('form').parent('div').closest('input').attr('id');
parameter = parameter.replace('comment','');
....
Вы можете мне помочь? заранее спасибо
$('#save').click(function() {
var $this = $(this);
// Gets the closest element in the ancestry matching the selector
var $form = $this.closest(".form");
// Gets the preceding sibling element
var $commentInput = $form.prev();
alert($commentInput.attr("id"));
});
ближайший docs | предыдущие документы
Довольно классный материал. Я в основном просто искал его
Вам не нужно выполнять ввод формы внутри кнопки "Попробовать":
$('#save').click(function() {
var $this = $(this);
$form = $this.closest(".form");
$commentInput = $form.prev();
parameter = $commentInput.children().attr('id');
parameter = parameter.replace('comment','');
alert(parameter);
});
Кроме того, вы можете связать свое событие с формой, затем вам нужно изменить тип своей кнопки для отправки.
#save
?$().submit(function(){})
- обработчик события для события отправки формы, а не инструкция для его отправки.