jQuery通过form使用method=get隐藏提交地址中没有值的字段,效果不佳



我使用下面的method="get"和其他几个下拉菜单的表单。当我提交表单时,因为我不想要一个大的地址,我尽量只留下非空的字段。

目前,如果我选择其中的一些,结果是禁用所有,甚至下拉菜单,我已经选择了一个值。

我在这里错过了什么?

$(document).ready(function () {
    $('#apliforma').submit(function () {
        $(this).find('select').not(":selected").prop('disabled', true);
        return true;
    });
});

   <select class="form-control" name="kivikafrom" id="from">
                <option value="">All</option>
                <option value="1000">1000 cc</option>
                <option value="1200">1200 cc</option>
                <option value="1400">1400 cc</option>
                <option value="1600">1600 cc</option>                   
    </select>

如果你所有的下拉菜单都有一个默认值或非选择值"",这应该工作:

$(this).find('select').filter(function() {
    return this.value == ''; 
}).prop('disabled', true);

我认为没有必要禁用其他选择框选项。

只能通过

获得选定的值
var selected_value = $("#from").val();
if(select_value != ''){
  /* write code for what ever you want */
}

据我所知,不需要额外的努力来禁用所有其他选项,但是当你提交表单时,它只会从你的参数中的选择框中发送选择选项。

最新更新