0

我正在研究 Ajax。我现在有多个选择框,我想一次又一次地回忆同一个页面,但问题是我们有很多 sql 查询。使用 if 条件我根据需要选择查询。现在我想检查 if ( $_POST['field'] 包含州或地区);阿贾克斯部分: -

$('#country').change(function()
        {
            var id=$("#country").val();
            var dataString = 'id='+ id;

            $.ajax
            ({
                type: "POST",
                url: "ajax_centre.php",
                data: {state:dataString,field:'state'},
                cache: false,
                success: function(html)
                {
                $("#state").html(html);
                } 
            });
        });
        $('#state').change(function()
        {
            var state_id=$('#state').val();
            var country_id=$('#country').val();
            var dataString = 'state_id='+ state_id;
            var country_id = 'country_id='+ country_id;


            $.ajax
            ({
                type: "POST",
                url: "ajax_centre.php",
                data: {country:country_id,state:dataString,field:'region'},
                cache: false,
                success: function(html)
                {
                $("#region").html(html);
                } 
            });

        }); 

在上部我通过 field:state 和 field:region 现在我想代表那个//ajax_centre.php 选择我的:-

if($_POST['field']='state')
{
   //execute query

}

if($_POST['field']='region')
{
    //execute query
}

这可能吗我知道 isset() 但我必须相互区分

我终于发现传递后值正确脚本中存在错误问题:-

$('#country').change(function()
        {
            var id=$("#country").val();
            //var dataString = 'id='+ id;

            $.ajax
            ({
                type: "POST",
                url: "ajax_centre.php",
                data: {id:id,field:'state'},
                cache: false,
                success: function(html)
                {
                $("#state").html(html);
                } 
            });
        });
        $('#state').change(function()
        {
            var state_id=$('#state').val();
            var country_id=$('#country').val();
            //var dataString = 'state_id='+ state_id;
            //var country_id = 'country_id='+ country_id;


            $.ajax
            ({
                type: "POST",
                url: "ajax_centre.php",
                data: {con_id:country_id,sta_id:state_id,field:'region'},
                cache: false,
                success: function(html)
                {
                $("#region").html(html);
                } 
            });

        }); 

有人认为我在“==”和“===”的情况下都让操作员工作。

4

4 回答 4

2

您必须使用==而不是=. =是赋值运算符而不是比较运算符。您可以选择===用于严格比较。

于 2013-06-25T07:55:30.607 回答
2

您应该使用运算符检查 [严格] 相等性===

if($_POST['field'] === 'state')
{
   //execute query

}

else if($_POST['field'] === 'region')
{
    //execute query
}

使用if/else控制块,您肯定只执行代码的一部分。

顺便说一句,请注意单个=运算符是赋值,而不是比较。

于 2013-06-25T07:52:15.987 回答
1

改变这个: -

if($_POST['field']='state')
{
   //execute query

}

if($_POST['field']='region')
{
    //execute query
}

if($_POST['field']== 'state')
{
   //execute query

}

if($_POST['field']== 'region')
{
    //execute query
}
于 2013-06-25T08:06:38.753 回答
0

这样做

if($_POST['field']==='state')
{
 //execute query

}
 else if($_POST['field']==='region')
{
//execute query
 }
else{
  //execute this
 }

这个

"  === "

用于将变量与身份进行比较

如果我们比较

"5"===5 returns false
 "5"==="5" returns true
于 2013-06-25T07:56:26.177 回答