Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Internet Explorer:Jquery在选择按钮后取消选择单选按钮_Javascript_Jquery_Html - Fatal编程技术网

Javascript Internet Explorer:Jquery在选择按钮后取消选择单选按钮

Javascript Internet Explorer:Jquery在选择按钮后取消选择单选按钮,javascript,jquery,html,Javascript,Jquery,Html,我有一组单选按钮单选组的侦听器。使用IE和选中的单选按钮,它进行数据库调用以填充select。但是,当选择单选按钮时,代码运行正常,但随后取消选择所选单选按钮。在Firefox或Chrome上不会发生这种情况 不幸的是,IE是办公室的标准,所以我坚持使用它。我可以通过添加javascript代码来重新选择单选按钮来解决这个问题,但我想知道为什么它会这样做 jquery: $('body').on("change", "input[type=radio]", function () { v

我有一组单选按钮单选组的侦听器。使用IE和选中的单选按钮,它进行数据库调用以填充select。但是,当选择单选按钮时,代码运行正常,但随后取消选择所选单选按钮。在Firefox或Chrome上不会发生这种情况

不幸的是,IE是办公室的标准,所以我坚持使用它。我可以通过添加javascript代码来重新选择单选按钮来解决这个问题,但我想知道为什么它会这样做

jquery:

$('body').on("change", "input[type=radio]", function () {
    var orgId = $('input[name=rdoGroup1]:checked').val();
    $.get('AJAXServlet', {formType: 'getSearchList', type: orgId}, function (responseJson) {
        var $select = $('#selSearch');
        $select.find('option').remove();
        $.each(responseJson, function (key, value) {
            $('<option>').val(key).text(value).appendTo($select);
        });
    });
    return false;
});
HTML:

<fieldset>
    <legend style="color: lightblue;">&nbsp;Search&nbsp;&nbsp;</legend>
    <input type="radio" id="organization" name="rdoGroup1" value="organization" checked/>Organization&nbsp;&nbsp;&nbsp;
    <input type="radio" id="department" name="rdoGroup1" value="department" />Department&nbsp;&nbsp;&nbsp;
    <input type="radio" id="office" name="rdoGroup1" value="office" />Office&nbsp;&nbsp;&nbsp;
    <input type="radio" id="rdoName" name="rdoGroup1" value="name" />Name
    <br><br>
    <select id="selSearch" name="selSearch" value="" style="width: 250px;">
        <option value="1">LAW ENFORCEMENT</option>
        <option value="2">FACILITIES & MAINTENANCE</option>
        <option value="3">PUBLIC WORKS</option>
        <option value="4">SECURITY</option>
        <option value="5">EXTERNAL AGENCIES</option>
    </select>
    <button onclick="doSearch()">Search</button>
    <br><br>
</fieldset>

事件处理程序末尾返回false可防止事件的默认操作。显然IE认为选择单选按钮是其默认操作。因此,请将其从处理程序中删除。

我总是希望单击单选按钮上的事件,因为IE在按钮失去焦点之前不会触发更改。请尝试删除return false。它可能会阻止选择点击按钮的默认动作。@ Barmar:是的,这确实起了作用,但是Chrome和Firefox忽略了返回false和IE吗?我认为这可能是他们认为点击单选按钮的默认行为的一个差异。