我需要在表单字段上执行一个简单的布尔条件。基本上我只需要知道字段#xxx是否隐藏。
我认为这是正确的方法,但我不确定,因为我没有得到我想要的结果。
if($("#input_<?php echo $form["id"]; ?>_27[type='hidden']").val() == '') {
// the field has no value so let's break out of this
break;
}
我在Wordpress中为重力形式添加了一个钩子。我需要这个钩子来处理所有表单,因为这个表单可能是重复的,但是如果创建一个包含相同字段ID但不隐藏的新表单,我不想继续使用jQuery函数。
编辑:我添加了由钩子传递的GF id以获得更高的准确性。在我发布之后我意识到,如果我复制了那个表单,那么字段id会改变。解决:使用Shivam的答案我得到了它。对于任何感兴趣的人,整个钩子都在这里:
<?php
add_filter('gform_pre_render', 'replace_cn');
function replace_cn($form){
?>
<script type="text/javascript">
jQuery(document).ready(function($){
var cname = $("#input_<?php echo $form["id"]; ?>_27[type='hidden']").val();
if (!$("#input_<?php echo $form["id"]; ?>_27").is(":hidden")) {
return;
}
var placeholder = '[XX]';
jQuery("*").each(function () {
if (jQuery(this).children().length == 0) {
jQuery(this).text($(this).text().replace(placeholder,cname));
}
});
jQuery("label").each(function () {
jQuery(this).html($(this).html().replace(placeholder,cname));
});
});
</script>
<?php
return $form;
}
?>
答案 0 :(得分:1)
$("#input_3_27").is(":hidden")
实现同样效果的更安全的方法是:
('#yourID').attr('type') == 'hidden'; // this will also return a boolean
编辑:我认为安全,如果您使用.is(:hidden)
设置元素样式,display:none
仍然有用。
答案 1 :(得分:0)
您的选择器不正确请参阅此jsfiddle
$("input[type='hidden']").val()