Кажется, мой JQuery AJAX не работает в IE6 - PullRequest
1 голос
/ 04 июня 2010

Я использую jquery ajax в моем проекте, который хорошо работает в моем firefox, но, похоже, он не работает в IE6 Как заставить JQuery Ajax работать в Ie6 Это мой код

function Load_State(inp)
{

$.ajax({
   type: "GET",
   url: "<?=base_url()?>/system/application/views/ssitAjax.php",
   data: "selCurCountry="+inp,
   success: function(msg){
     //alert(  msg );
     document.getElementById('selCurState').innerHTML=msg;
   }
 });
} 
function Load_City(inp)
{

$.ajax({
   type: "GET",
   url: "<?=base_url()?>/system/application/views/ssitAjax.php",
   data: "selCurState="+inp,
   success: function(msgq){
    //alert(  msgq );
     document.getElementById('selCurCity').innerHTML=msgq;
   }
 });
}

Это моя страница ssit ajax

<?php

include('dbConnection.php');

session_start();
if(($_GET['selCurCountry']!="") || (isset($_GET['selCurCountry'])))
{

             $Country = $_GET['selCurCountry'];
             $_SESSION['Country'] = $Country;

            $query = "SELECT dState_id,dStateName 
                            FROM tbl_state
                            WHERE dCountry_id='$Country'
                            AND dIsDelete='0'";


            $result = mysql_query($query,$cn) or die("Selection Query Failed !!!");

            echo '<option value="0">Select The State</option>';

            while($rowset = mysql_fetch_array($result))
             {
               echo "<option value='".$rowset[0]."'>".$rowset[1]."</option>";
             }

}
else if(($_GET['selCurState']!="") || (isset($_GET['selCurState'])))
{

            $State = $_GET['selCurState'];
            $_SESSION['state'] = $State;
            $query = "SELECT dCity_id,dCityName FROM tbl_city
                        WHERE dState_id='$State'
                        AND dIsDelete='0'";


            $result = mysql_query($query,$cn) or die("Selection Query Failed !!!");


            echo '<option value="0">Select The City</option>';

            while($rowset = mysql_fetch_array($result))
             {
               echo "<option value='".$rowset[0]."'>".$rowset[1]."</option>";
             }



}?>

РЕДАКТИРОВАТЬ:

 <option value="0">Select The State</option>
 <option value='1'>Andhra Pradesh</option><option value='2'>Arunachal Pradesh</option><option value='3'>Assam</option><option value='4'>Bihar</option><option value='5'>Chandigarh</option><option value='6'>Chhattisgarh</option><option value='7'>Dadra and Nagar Haveli</option><option value='8'>Daman and Diu</option><option value='9'>Delhi</option><option value='10'>Goa</option><option value='11'>Gujarat</option><option value='12'>Haryana</option><option value='13'>Himachal Pradesh</option><option value='14'>Jammu and Kashmir</option><option value='15'>Jharkhand</option><option value='16'>Karnataka</option><option value='17'>Kerala</option><option value='18'>Lakshadweep</option><option value='19'>Madhya Pradesh</option><option value='20'>Maharashtra</option><option value='21'>Manipur</option><option value='22'>Meghalaya</option><option value='23'>Mizoram</option><option value='24'>Nagaland</option><option value='25'>Orissa</option><option value='26'>Puducherry</option><option value='27'>Punjab</option><option value='28'>Rajasthan</option><option value='29'>Sikkim</option><option value='30'>Tamil Nadu</option><option value='31'>Tripura</option><option value='32'>Uttar Pradesh</option><option value='33'>Uttarakhand</option><option value='34'>West Bengal</option>

Ответы [ 2 ]

1 голос
/ 04 июня 2010

Ой, подождите - я думаю, я знаю, в чем проблема. В IE6 вы не можете просто заменить "innerHTML" из <select> элементов подобным образом. Вы должны восстановить все <select> с нуля. (Или вы можете очистить массив options в элементах <select> и перестроить их с помощью API DOM.)

Попробуйте обернуть элементы <select> в теги <span> (со значениями "id"), а затем перестроить их "innerHTML", добавив элементы <select> снова. Это боль, которую я знаю, и это может испортить другие вещи, но это был бы хороший эксперимент, чтобы подтвердить мои подозрения.

0 голосов
/ 04 июня 2010

Раньше я не сталкивался с PHP, но в IE была та же странность с вызовами ajax / get / post. Вы пытались указать тип контента?

$.ajax({ url: "/home/myPage.aspx",
         type: "GET",
         data: { selCurrCountry: inp }, 
         content-type: "application/json",
         success: function(data) {
            alert("Yay!");
         }
});

Кроме того, если вам нужно это значение данных в строке запроса, почему бы просто не добавить его к URL-адресу и установить данные: {} или нет вообще?

$.ajax({ url: "/home/myPage.aspx?selCurCountry=" + inp,
         type: "GET",
         success: function(data) {
            alert("Yay!");
         }
});

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...