单击单选按钮清除下拉选择

Posted

技术标签:

【中文标题】单击单选按钮清除下拉选择【英文标题】:Clear dropdown selection on radio button click 【发布时间】:2011-02-10 15:52:30 【问题描述】:

我有一组单选按钮。选择主要时,主要公司字段将隐藏。我也想在这个时候清除下拉选择。我该怎么做?

<p>
        <label>Company Type:</label>
        <label for="primary"><input onclick="javascript: $('#sec').hide('slow');" type="radio" runat="server" name="companyType" id="primary" checked />Primary</label>
        <label for="secondary"><input onclick="javascript: $('#sec').show('slow');" type="radio" runat="server" name="companyType" id="secondary" />Secondary</label>
        <div id="sec">
        <label for="primary_company">Primary Company:</label>
            <%= html.DropDownList("primary_company", Model.SelectPrimaryCompanies, "** Select Primary Company **") %>
        </div>

    </p>

【问题讨论】:

【参考方案1】:

这是最适合我的捷径:

$("#selectNetBankNameId")[0].selectedIndex = 0;
$("#selectNetBankNameId").trigger("change");

【讨论】:

对我来说看起来很奇怪 - 这个问题已经有七年了,有多个答案看起来比你的要好得多,这应该是“最好的捷径”?【参考方案2】:

您可以将 null 传递给 jQuery val() 方法作为清除下拉列表的好方法。

$('#primary_company').val(null);

【讨论】:

【参考方案3】:
$("#primary_company").find('[selected]').removeAttr("selected");

【讨论】:

【参考方案4】:

您可以像这样清除选择(即选择第一个选项):

$("#primary_company").find('option:first')
                     .attr('selected','selected');

【讨论】:

+1。但为什么是.parent('select'); 部分?你可以直接使用.end(),对吧? @David - 这是为邪恶目的服务的较长链条的一部分。 (我从我的一个测试页面粘贴了太多代码),但既然你指出了这一点,endparent('select') 更好。谢谢。【参考方案5】:

要完全清除选择(这样甚至不选择第一个元素),您可以使用:

$('#primary_company').attr('selectedIndex', '-1'); 

如果#primary_company 是一个多选框,您可以使用:

$('#primary_company option').attr('selected', false);

【讨论】:

以上是关于单击单选按钮清除下拉选择的主要内容,如果未能解决你的问题,请参考以下文章

单击单选按钮时,将其值传递给 vue 组件实例

jquery 在单击单选按钮时选择并激活特定类的所有项目

根据单选按钮值调用标记

选择单选按钮后的下拉列表

启用/禁用选择/下拉菜单和下拉单选按钮?

选择其他单选按钮时清除文本框