我在wordpress工作,我创建了一个自定义插件。我从数据库中获取了多个数据,我的代码是这样的。
<?php
foreach($result as $res)
{
?>
<input type="hidden" class="status" value="<?php echo $res->review_status; ?>" />
<button class="aprove" value="<?php echo $res->review_id; ?>">Aprove</button>
<?php
}
?>
现在,我想在jQuery中获取隐藏的字段值。我的jQuery代码是这样的:
jQuery(".aprove").click(function(){
var status = jQuery('.status').val();
alert(status);
});
当我点击按钮时,它只显示隐藏字段的第一个值。例如,第一个隐藏值是1,第二个值是0,然后它只显示两个按钮的第一个值1。那么我必须做些什么来获得不同的隐藏价值呢?
答案 0 :(得分:5)
尝试:
jQuery(".aprove").click(function(){
jQuery('.status').each(function(){
var status = jQuery(this).val();
alert(status);
});
});
.each将循环遍历所有类,它会提醒它的每个值。
<强>更新强>
答案 1 :(得分:1)
var status = jQuery('.status').val();
alert(status);
这将获得首先在页面上找到的元素的值,并将返回结果
如果您想要使用所有输入值
jquery 每个() - https://api.jquery.com/jquery.each/
jQuery('.status').each(function(){
alert($(this).val());
});
//这将为您提供所需的所有值,一个接一个
答案 2 :(得分:1)
这是你的答案。对于每个按钮,所取的值将来自按钮元素
之前的input元素 jQuery(".aprove").click(function(){
var status = jQuery(this).prev('.status').val();
alert(status);
});
答案 3 :(得分:0)
您可以像这样使用 .map 来获得您想要的内容:
$(document).ready(function(){
var status=[]
jQuery(".aprove").click(function(){
status = $(".status").map(function() {
return $(this).val();
}).get();
alert(status);//array of values
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="hidden" class="status" value="0" />
<input type="hidden" class="status" value="1" />
<button class="aprove" value="">Aprove</button>