Javascript 根据其他列表添加列表项

Javascript 根据其他列表添加列表项,javascript,php,Javascript,Php,我有两个国家和州的列表框。当我点击一个国家(例如印度)时,相应的州会出现在州列表中。但不止一个国家也应该如此。若我选择了两个国家,那个么这两个国家的州都应该添加到州列表中 国家/地区列表的javascript代码- $('#pcountries').on('change', function() { var country_id = this.value; $.ajax({ type: "POST", url: "php_includes/sele

我有两个国家和州的列表框。当我点击一个国家(例如印度)时,相应的州会出现在州列表中。但不止一个国家也应该如此。若我选择了两个国家,那个么这两个国家的州都应该添加到州列表中

国家/地区列表的javascript代码-

$('#pcountries').on('change', function() {
    var country_id = this.value;
    $.ajax({
        type: "POST",
        url: "php_includes/select_list_pstate.php",
        data: 'country_id=' + country_id,
        success: function (result) {
            $("#pstate").append(result);
        }
    });
});
php代码-

if ($_POST['country_id']) {
    $country_id = $_POST['country_id'];
    if ($country_id != '') {
        $states_result = $db_conx->query('select * from states where countryId=' . $country_id . '');
        $options = "<option value=''>Any</option>";
        while ($row = $states_result->fetch_assoc()) {
            $options .= "<option value='" . $row['stateId'] . "'>" . $row['state'] . "</option>";
        }
        echo $options;
    }
}

Multiple Select返回需要在查询中使用的数组,而不是像这样在查询中使用=的数组

$states_result = $db_conx->query("select * from states where countryId IN (".implode(',',$country_id ).")";);
var selectedValues=$'multipleSelect'.val; console.logselectedValues 文本1 文本2 文本3
您必须在sql查询中使用OR运算符才能从这两个国家获取数据。如果选择了两个国家,您将通过什么。检查控制台第二个列表中可以放置多少个状态?也许您可以使用一个基于静态JSON的逻辑,该逻辑由PHP与第二个列表的所有元素预编译,并且只放置您需要的状态。无需每次执行查询。