2014-03-28 15 views
0

我使用的是带有method="get"和其他几个下拉菜单的表单。当我提交表格时,因为我不想要一个巨大的地址,所以我试着只留下非空的字段。jQuery通过form = 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> 

回答

0

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

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

我认为没有任何规定禁止的其他选择框选项。

可以按照知识,也并不需要额外的努力来禁用所有其他选项只能得到由

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

选择的值,但是当您提交表单,然后它会从选择框中只发送选择选项在你的参数。所有其他未选定的选项将不会以参数形式发送。