我目前在我的页面上有两个div。当用户选择说出第一个div时,我从该div获得userSaved
值的隐藏值,但我也想从第二个div中获取userSaved
值。我必须知道第一个值被选中并存储在:saved_id_user_voted_on_val中,然后第二个值可以存储在其他内容中。第一个(选定的)值必须存储在saved_id_user_voted_on_val中。
HTML
<div class="fl person">
<div class="maintain_size">
<input type="hidden" name="userSaved" value="1" />
</div>
</div>
<div class="fl person">
<div class="maintain_size">
<input type="hidden" name="userSaved" value="2" />
</div>
</div>
的jQuery
$(document.body).on('click',"div.person img",function () {
$(this).parent("div").fadeOut(1000, function () {
var saved_id_user_who_voted_val = "<?php echo $_SESSION['id']; ?>";
var saved_id_user_voted_on_val = $(this).parent('div').find('input:hidden');
var saved_id_user_voted_on_val = saved_id_user_voted_on_val.val();
var current_div = $(this).parent("div");
current_div.empty();
});
});
非常感谢任何帮助。谢谢。
答案 0 :(得分:1)
认为您可以从所选值中得出结论是向前还是向后跳跃。 如果该值为非整数,您还可以使用该名称来区分输入。在你的示例代码中将seeems放在某种程度上毫无意义,不过我们在这里:
var selected = $(this).find("input:hidden").val();
if(selected==2)
var notselected = $(this).prev(".person").find("input:hidden").val();
else
var notselected = $(this).next(".person").find("input:hidden").val();
或者取一个数组并循环prev()直到达到1而next()直到达到NUM_OF_INPUTS。 使用名称来区分输入并提取id。
var values = new Array();
var selectedInput = $(this).find("input:hidden").attr("name");
var iterDiv = $(this);
for(var j = selectedInput;j>1;j--){
iterDiv = iterDiv.prev(".person");
values[j] = iterDiv.find("input:hidden").val();
}
iterDiv = $(this);
for(j = selectedInput;j>NUM_OF_INPUTS;j++){
//.... get next()
}
答案 1 :(得分:0)
我使用这个解决方案(对Sushanth的一点修改)得到了它。
var currentDiv = $(this).parent('div');
var saved_id_user_voted_on_val_two = currentDiv.find('input:hidden');
var otherDiv = $('.fl').not(currentDiv);