我正在处理一个表单,以显示依赖于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
,这将导致错误。