使用基于按钮单击的Jquery填充选择下拉列表

时间:2014-09-25 13:16:25

标签: javascript php jquery html forms

我有2个按钮和一个选择下拉列表

<button type="button" name="btnmonth" id="btnmonth">Monthly</button>
<button type="button" name="btnyear" id="btnyear" >Yearly</button>

<select id="subscriptions">
    <option value="default">Please Choose a Plan</option>
</select>

点击按月的按钮,我需要填充的选择下拉列表 4种选择。或者点击年份,需要使用4年选项填充列表。但是如果你在月份和年份之间来回走动,我需要列表没有1000个相同的选择。

我在两个不同的选择中使用了jquery .show和.hide,但是即使年份选择被隐藏,表单也提交了它们,所以我不知道哪个是实际选择的。所以它必须是一个选择下拉

3 个答案:

答案 0 :(得分:0)

您可以在<select>隐藏时禁用它。通过这种方式,表单不会提交不可见的<select>

<select disabled id="subscriptions">
    <option value="default">Please Choose a Plan</option>
</select>

答案 1 :(得分:0)

您可以尝试使用两个选项,但只是.hide()不会从表单中删除它。 要从表单中删除它,您可以使用$.prop('disabled', boolean)

将其停用
<button type="button" name="btnmonth" id="btnmonth">Monthly</button>
<button type="button" name="btnyear" id="btnyear" >Yearly</button>

<select id="subscriptions-monthly" style="display: none" disabled>
    <!-- Monthly select options -->
</select>

<select id="subscriptions-yearly" style="display: none" disabled>
    <!-- Monthly select options -->
</select>

在javascript中:

$('#btnmonth').click(function(event) {
    $("#subscriptions-yearly").hide().prop('disabled', true);
    $("#subscriptions-monthly").show().prop('disabled', false);
});

$('#btnmonth').click(function(event) {
    $("#subscriptions-monthly").hide().prop('disabled', true);
    $("#subscriptions-yearly").show().prop('disabled', false);
});

这对你有用。

答案 2 :(得分:0)

如果您已经拥有正常工作的代码,并且只想在每次点击按钮时不再添加值,只需添加&#34; $(&#39; #subsptions&#39;)。empty()&#34;现有buttonclick函数开头的脚本,或者在脚本顶部添加下面的函数。

$('#btnmonth, #btnyear').click(function() {
    $('#subscriptions').empty()
});