禁用SUBMIT按钮,直到选择框选项

我有一个小表格。

两个选择框元素和一个提交按钮。

选择选择时共同选择框元素,触发ajax请求。

我想要做的是,禁用UNTIL用户从选择下拉列表中选择的提交按钮。

在启用“提交”按钮之前,他们必须从BOTH选择下拉列表中进行选择。

我不介意在提交选项之前隐藏提交按钮。

简要说明:

Select premium ad type <option value="">Featured Agent <option value="">Featured Listing

Select premium ad duration Weekly Fortnightly Monthy

这是一个似乎做你想要的演示:

http://jsfiddle.net/Yr59d/

该javascript代码将进入$(document).ready()

 $(function() { $("#submitorder").css("visibility", "hidden"); $("#ad_form select").bind("change", function() { if ($("#ad_type").val().length > 0 && $("#ad_duration").val().length > 0) { $("#submitorder").css("visibility", "visible"); } else { $("#submitorder").css("visibility", "hidden"); } }); }); 

如果您为所有选择提供了一个公共类名(如“required”),您可以执行以下操作:

 $('select.required').change(function() { var total = $('select.required').length; var selected = $('select.required option:selected').length; $('#submitorder').attr('disabled', (selected == total)); }); 

这不是经过测试的代码。 该文档可能有所帮助。 这个jquery讨论也可能有所帮助。

Gah,我将不得不同意Kon这一个 – 修复 – 现在担心 – 它后来的答案有它们的位置,但同时一个简单的优雅解决方案必须是要走的路。

我的解决方案:(来自一个主题的信用: IE7中的JQuery启用/禁用提交按钮 )

 $('select.required').change(function() { var total = = $('select.required').length; var selected = $('#ad_form').find("select.required option[value!='':selected").length; $('#submitorder').prop('disabled', (selected != total)); }); 

顺便说一句,感谢ctcherry在JSFiddle网站上演示代码 – 我以前没见过,将来会使用它!

在两个选择按钮上使用侦听器进行更改,并检查是否还设置了另一个。 如果设置,请启用提交按钮。