在更改时使用javascript清除选择选项

Clearing select options with javascript on change

本文关键字:javascript 清除 选择 选项      更新时间:2023-09-26

在你-1之前,这是一个如此简单的问题,请继续阅读,因为我花了一段时间搜索,但找不出来。我有5个选择框。每个ones的结果取决于之前选择的内容。没有提交按钮。我只需要根据上一个框中选择的内容进行更改,到目前为止我已经做到了。哦,结果是从数据库中提取的。问题是,当你在框1中选择一个选项时,会出现框2选项,但当你再次在框1选择一个选择时,这些选项只是叠加在其他选项上。当它再次发生变化时,我需要他们澄清。我会发布我的js,如果你还需要什么,只要问一下。

p.s.im使用php-mysql获取选项。这个网站明天必须完成,所以我有点赶时间。请不要浪费时间告诉我这是个愚蠢的问题。

提前感谢您的帮助。

$(function () { //When the page is finished loading run this code
    $('#country').change(function () {
        $.ajax({
            url: "<!--Base url taken out-->/discovery/aLoad",
            success: function (data) {
                eval(data);
            },
            error: function () {
                alert('failed');
            },
            data: {
                country: getSelectValues('#country')
            },
            type: 'POST'
        });
    });
 });
     function changeSearchBar (newBar) {
    //remove the crap
    function ClearOptions(country)
    {
    document.getElementById('country').options.length = 0;
    }
    for (var i = 0; i <= newBar.length; i++) {
        newBar[i].id = newBar[i][0];
        newBar[i].name = newBar[i][1];
        $('#group').append(
            $('<option></option>').attr('value', newBar[i].id).text(newBar[i].name)
        );
    }
     }
     function getSelectValues (sId) {
    var str = "";
    $(sId +" option:selected").each(function () {
        str += $(this).val() + ",";
    });
    return str.replace(/.$/g, '');
}

根据我从您的长文中了解到的,在开始从AJAX请求中附加新选项之前,您只需要删除所有select子项。

for循环之前尝试这样的操作:

$('#group').html('');​

演示:http://jsfiddle.net/57TYu/2/

给你,我认为这基本上就是你想要做的:

如何删除选择框的所有选项,然后添加一个选项并使用jQuery进行选择?

基本上,在select中找到"option"标记并将其删除。

$('select').find('option').remove()

将清除所有选择框。

这将附加数据,假设这些数据是替代它们的选项:

$('select').find('option').remove().end().append(data);

我想这就是你想要的。