从下拉列表中删除值时的Jquery延迟

时间:2017-11-30 14:52:36

标签: javascript jquery

删除值时下拉列表

enter image description here

当用户点击drop时,我一直在尝试从下拉列表中删除一个值。但是有一些延迟,并且在删除时它会显示最后一个下拉值下方的空白区域。

这是我用过的代码。

jq(document).ready(function()
{
   jq('#gbMainTable').on('click', 'tr.dr td[name="v4"] select', function() 
   { 
     jq('#gbMainTable tr.dr td[name="v4"] select').find('option[value=Other]').remove();
    });
});

2 个答案:

答案 0 :(得分:0)

有时(经常?),原生JS更简单&高效:

HTML:

<select id="test">
    <option value="foo">foo</option>
    <option value="bar">bar</option>
    <option value="other">other</option>
    <option value="hey">hey</option>
</select>

JS:

function removeOption(value) {

    document.getElementById('test').addEventListener('click', function() {
        var optionToRemove = document.querySelector('#test option[value="' + value + '"]');
        if (optionToRemove) {
            this.removeChild(optionToRemove);
        }
    });
}

removeOption('other');

<强> https://jsfiddle.net/nejktxso/

答案 1 :(得分:0)

您可以使用其中任何一个来相应删除

$("#selectBox option[value='other']").remove(); 
$('#some_select_box').click(function() {
  $('option:selected', this).remove();
});