我有两个div显示其中的产品详细信息内容,如下所示:
<div class="product-style-odd">
<select>
<option value="active" onClick="changeStatus(<?php echo $productid;?>,0)">Activate</option>
<option value="inactive" onClick="changeStatus(<?php echo $productid;?>,1)">Deactivate</option>
</select>
</div>
<div class="product-style-even">
<select>
<option value="active" onClick="changeStatus(<?php echo $productid;?>,0)">Activate</option>
<option value="inactive" onClick="changeStatus(<?php echo $productid;?>",1)>Deactivate</option>
</select>
</div>
<script>
function changeStatus(productid, status){
//Now what I want to reference and hide that div in which changeStatus function was invoked
}
</script>
现在对上述代码的解释很少。这些奇数和偶数样式的div都在循环内部,因此它们会根据循环中的迭代次数重复出现。 现在我想要实现的是当用户点击select菜单中的inactive选项时,那个特定的div应该是fadeOut,我通过Ajax改变了该产品的状态。
我不知道如何获得被点击的特定div的类。 很遗憾代码的缩进很差,我对SO编辑器并不熟悉。
编辑: 问题仍未解决。
原因是该页面的结构非常复杂。首先,我有身体,然后是一个div,然后是几个div,然后是一个div类产品风格 - 偶数或产品风格 - 奇数。现在如果我把代码选择父div,那么它选择body后面的div。
答案 0 :(得分:1)
这样的事情怎么样?
$("select").change(function () {
var selectVal;
$("select option:selected").each(function () {
selectVal = $(this).val();
});
if (selectVal == 'inactive') {
var selectParentDiv = $(this).parents('div');
selectParentDiv.fadeOut();
console.log(selectParentDiv.attr('class'));
}
});
答案 1 :(得分:1)
$('select').click(function(){
var divClass=$(this).parent('div').attr('class');
});
答案 2 :(得分:0)
使用jQuery:
$(this).parents('div:first').hide();
在函数changeStatus(productid,status)
中