2010-06-04 2 views
1

Я использую JQuery Ajax в моем проекте Thats хорошо работаю в моем светлячке Но он не кажется, работает в IE6 Как сделать JQuery Ajax работает в 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

<?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>"; 
      } 



}?> 

EDIT:

<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> 
+1

Любые ошибки? Можете ли вы показать * обработанный HTML * вместо исходного кода PHP? –

+3

На любом сайте Q & A (например, SO) или дискуссионном форуме, где вы задаете вопрос, всякий раз, когда вы набираете текст * «Но он, похоже, не работает ...» *, backspace и сказать «Но это XYZ, когда я хочу это делать ABC "вместо этого (или" Но это не делает XYZ, и я ожидал этого. ") У вас есть идея. :-) –

+1

+1 для TJ, может быть, ваша ошибка связана с тем, что кеш на ajax-запросе ... у вас должно быть случайное число в конце запроса –

ответ

1

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

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

+0

@patrick, который * может * работать, но это будет зависеть от того, насколько jQuery будет достаточно умным, чтобы понять это - возможно, это так! – Pointy

+0

Протестировано * до * Я отправил комментарий. : o) – user113716

+0

@patrick ну, конечно, вы это сделали, поэтому мои извинения – Pointy

0

Я раньше не испытывал 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!"); 
     } 
}); 

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

+0

Держу пари, что часть Ajax работает нормально; он работает для него в Firefox в конце концов. – Pointy

+0

Возможно. Но IE6 - это другой зверь в отделе javascript. Я просто хотел предложить несколько предложений. Раньше я видел эту странность. – Tacoman667