我有以下HTML:
<div class="pane">
<h3>
<input type=hidden id="comm_id" value="{$comment.id}">
<label id="comm_name" onclick="this.style.display='none';document.getElementById('comm_name_edit_view').style.display='';document.getElementById('comm_name_edit').value=this.innerHTML;">{$comment.writer_name}</label>
<div id="comm_name_edit_view" style="display:none;">
<input type=text id="comm_name_edit" value="{$comment.writer_name}">
<button onclick="this.parentNode.style.display='none';document.getElementById('comm_name').innerHTML=getElementById('comm_name_edit').value;document.getElementById('comm_name').style.display='';">حفظ</button>
</div>
</h3>
<p>
<label id="comm_content" onclick="this.style.display='none';document.getElementById('comm_content_edit_view').style.display='';document.getElementById('comm_content_edit').value=this.innerHTML;">{$comment.comment}</label>
<div id="comm_content_edit_view" style="display:none;">
<textarea type=text id="comm_content_edit">{$comment.comment}</textarea>
<button onclick="this.parentNode.style.display='none';document.getElementById('comm_content').innerHTML=getElementById('comm_content_edit').value;document.getElementById('comm_content').style.display='';">حفظ</button>
</div>
</p>
<p><a href="#" class="btn-delete">delete</a> | <a href="#" class="btn-approve">approve</a> | <a href="#" class="btn-spam">spam</a></p>
</div>
以及下面的jQuery(我对jQuery不好)
jQuery(function(){
$(".pane:even").addClass("alt");
$(".pane .btn-delete").click(function(){
var x=SOMETHING;
$(this).parents(".pane").animate({ backgroundColor: "#fbc7c7" }, "fast")
.animate({ opacity: "hide" }, "slow")
return false;
}); ..... etc
在var x=SOMETHING;
中,我希望能够在该窗格中获取ID为input
的{{1}}框的值。这有可能吗?
谢谢。
答案 0 :(得分:4)
您可以使用.closest()
来获取输入,然后转到<div class="pane">
然后.find()
内部输入,如下所示:
$(".pane .btn-delete").click(function(){
var x = $(this).closest(".pane").find(".comm_id").val();
//use x
//animations...
});
请注意,id
到class
的更改对多个窗格有效,您的<input>
应如下所示:
<input type="hidden" class="comm_id" value="{$comment.id}">
答案 1 :(得分:0)
var x = $("#comm_id").val();
编辑:
实际上,您甚至不需要通过ID选择它:您可以使用
var x = $( "input[type=hidden]", $( this ).parents(".pane") ).val();
如果你有几个这样的代码片段,这将解决问题。