0

我的页面上目前有两个 div。当用户选择说第一个 div 时,我从该 div 的值中获取隐藏值userSaved,但我也想userSaved从第二个 div 中获取值。我必须知道第一个值被选择并存储在: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();
    });
});

任何帮助是极大的赞赏。谢谢你。

4

2 回答 2

1

认为您可以从所选值得出是向前跳还是向后跳。如果该值是非整数,您还可以使用名称来区分输入。在您的示例代码中看起来似乎毫无意义,但是我们开始了:

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()
}
于 2013-07-20T20:11:13.560 回答
0

我使用这个解决方案(对 Sushanth 的一点修改)让它工作。

var currentDiv = $(this).parent('div');
var saved_id_user_voted_on_val_two = currentDiv.find('input:hidden');
var otherDiv = $('.fl').not(currentDiv);
于 2013-07-20T21:37:56.613 回答