Javascript ajax调用第二次不起作用
我正在制作一个表格,以显示数据库的结果,该表格依赖于2个条目。这里是Automarke(英文品牌)和Modell(型号),请参见 box Modell根据Automarke及时更改。我在这里使用:Javascript ajax调用第二次不起作用,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在制作一个表格,以显示数据库的结果,该表格依赖于2个条目。这里是Automarke(英文品牌)和Modell(型号),请参见 box Modell根据Automarke及时更改。我在这里使用: $(MainInput).on('change' , Marke, function() { // $( Marke ).change(function() { //remove all options
$(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');
}
}
});
});
我从数据库中得到结果。之后,出现了两个问题
1) Automarke参数的更改不会更改Modell输入,因为以前可能会更改
2) 不可能进行第二次搜索,表单不会作出反应。可以识别-不显示任何警报消息
有人有主意吗
多谢各位
注册
萨米尔
编辑:
在我单击按钮后,任何javascript函数都不起作用。如果我更改“自动标记”的值,它不会做出反应。通常,“Modell”下拉菜单会获得新值,如果“Automarke”更改了值。您可以这样尝试:
$(document).on('change','selector',function()){
//你的代码
})
我发现了我的错误。我用$(Marke).val()代替了$('#Marke')
使用$(Marke).val()后
,值是未定义的
,如果我再次单击按钮,则会导致错误。就像以前一样
…在什么之前?此外,严重的程序员不会使用警报来调试代码-使用控制台.log
…并检查控制台是否有错误,我将其作为主输入
,标记
和Modell
是变量,不应该是字符串文字,对吗?这里是另一个指示符。第一次单击搜索按钮就可以了。但是如果我再次单击它,任何字段和下拉菜单都有“未定义”的值。。。
//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
}