Php 自定义搜索并使用Jquery隐藏字段

Php 自定义搜索并使用Jquery隐藏字段,php,javascript,jquery,wordpress,Php,Javascript,Jquery,Wordpress,我试图在我的搜索表单上隐藏一个带有Jquery的字段,这样,如果它是商业地产,就没有“卧室数”字段 jQuery(function ($) { $(window).load(function() { $("input:radio#comms").click(function() { $("p.bedrooms").hide(); }); $("input:radio#sale").click(function() {

我试图在我的搜索表单上隐藏一个带有Jquery的字段,这样,如果它是商业地产,就没有“卧室数”字段

jQuery(function ($) {
    $(window).load(function() {
        $("input:radio#comms").click(function() {
            $("p.bedrooms").hide();
        });
        $("input:radio#sale").click(function() {
            $("p.bedrooms").show();
        });

        $("input:radio#rent").click(function() {
            $("p.bedrooms").show();
        });
    });
});

我在Wordpress中这样做,上面的代码似乎可以工作,但我的问题是——如果你隐藏一个字段,URL将更改为beddrooms=1&location=blackpool——它默认为beddrooms=1。我想知道是否有一种方法可以在表单中使用空值,如果它是隐藏的,则根本不搜索该字段?

您可以尝试将.submit()事件处理程序附加到表单

我还没有测试或运行下面的代码

// Form will submit after this method runs unless you e.preventDefault();
$("#myForm").submit(function(e) {
    if ($("p.bedrooms").is(":visible")) {
        // Do somethin
    } else {
        // Bedrooms aren't visible

        // Option 1: empty the value
        $("input[name=bedrooms]").val("")
        /*
           Option 2: remove the input
           Since the form is submitting, it shouldn't matter 
           if you remove an input. Returning to the page should 
           replace the input.
        */
        $("input[name=bedrooms]").remove()
    }
});

注意:创建新的商业地产时,所有商业地产的“卧室”字段都将为空。可能
卧室=-1
?虽然我不太喜欢依赖任何GET参数来编写进一步的代码,但是你会如何编写这样的代码来代替搜索呢?我对这个想法持开放态度。您可能应该检查服务器端的房间是否可以有卧室,并将其发送给客户端(如果必要)。但是“”值不会变为零卧室吗?我已经测试了代码,我认为它不起作用。也许最好的方法是以某种方式在搜索中完全删除卧室?$(“input[name=Beddrooms]”)。remove()应删除该输入,使其不包含在提交到操作页面中。