ajax调用第二次不起作用


ajax call does not work second time

我正在处理一个表单,以显示依赖于2个条目的数据库的结果。这里是Automarke(英文品牌)和Modell(型号),见的两个条目

方框Modell会及时更改,具体取决于自动标记。这里我使用:

            $(MainInput).on('change' , Marke, function() {
            // $( Marke ).change(function() {
                //remove all options
                $( Modell).find('option').remove();             
                var brand = $( Marke ).find('option:selected').text();
                $.ajax({
                        url: '/hk/phpscript/getModel.php',
                        //url: 'schreibeMail.php',
                        type: 'POST',
                        //data: { var_PHP_data: var_data },
                        data: { brand: brand },
                        success: function(data) {
                            // do something;
                            test = data;
                            var arr = JSON.parse(test);
                            var help = "";
                            for(i = 0; i <= arr.length - 1; i++){
                            $(Modell).append("<option>" + arr[i].Modell + "</option>");
                            $(Modell).selectpicker('refresh');
                            }
                        }
                });
            });

一切正常。ajax和php之间的连接,请参阅下面的代码

            //click search
            $(search).on('click' , searchCar, function() {
            // $(searchCar).click(function() {
                if( $(Marke).val() == "" || $(Modell).val() == "")
                {   
                    alert("Bitte wählen Sie eine Automarke und ein Modell aus!");
                    return;
                }
                whereCondition = setSearchQuery();
                // alert(whereCondition);
                //alert(value);
                alert(whereCondition);
                //function () {
                $.ajax({
                    url: '/hk/phpscript/getCar.php',
                    //url: 'schreibeMail.php',
                    type: 'POST',
                    //data: { var_PHP_data: var_data },
                    data: { whereCondition: whereCondition },
                    success: function(data) {
                    alert(whereCondition);
                    ... do anything with data
                    }

我从数据库中得到结果。之后,出现2个问题。

1) 自动标记参数的改变不会改变Modell输入,就像以前一样2) 第二次搜索是不可能的,表单没有反应。可以识别-不显示警报消息。

有人有主意吗?

谢谢。

Reg

Samir

编辑:

在我点击按钮后,任何javascript函数都不起作用。如果我更改"自动标记"的值,它不会做出反应。通常情况下,如果"自动标记"更改值,"Modell"下拉菜单将获得新值。

你可以这样尝试:

$(document).on('change','selector',function(){
//your code
});

我发现了我的错误。我使用了$(Marke).val()而不是$('#Marke')

使用$(Marke).val()后,如果我再次单击按钮,则值为undefined,这将导致错误。