【问题标题】:Clear Select Based on Uncheck using Javascript使用 Javascript 清除基于取消选中的选择
【发布时间】:2013-07-31 21:38:14
【问题描述】:

使用来自this questionJSFiddle 我可以看到如何清除带有复选框的表单的输入框。我的问题是如何更改 javascript 以清除选择(在本例中为“addbasePFO14”)而不是通过特定名称而不是仅清除在表单中找到的所有输入而不中断现有的 onchange 事件?

$(document).ready(function(){
    $('#chk').live('change',function(){
    if(!$(this).is(':checked'))
     $('input').val('');              
    });

});
    <form>
    <input type="checkbox" id="chk">
    <select id="addbasePFO14" name="addbasePFO14" onchange="calculateTotal()" />
        <option value="0">None</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
    </select>
    </form>

【问题讨论】:

    标签: javascript


    【解决方案1】:

    你可以这样做:

    $("#chk").change(function() {
        if (this.checked) $("#addbasePFO14").val(0) //assuming option with value of 0 is your default
    });
    

    您还有两个 ID 为 chk 的复选框,ID 必须是唯一的!

    演示:http://jsfiddle.net/Zgs3n/

    【讨论】:

    • hmmm.我做错了什么...我更新了页面以包含这个并且它不起作用?当我选中或取消选中该框时,它会保持选择相同的值:Choose # of PFO Appliances
    • 您必须包含新的change 函数,而不仅仅是if (this.checked) 部分...
    • @RoccoTheTaco -- 这是一个演示,将选择更改为某个值,然后选中该框:jsfiddle.net/Zgs3n
    • 清楚是什么意思?语法是if (!this.checked),或者只是现有子句的else
    猜你喜欢
    • 1970-01-01
    • 2011-03-11
    • 2018-04-20
    • 2012-03-17
    • 2013-11-25
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多