Разобрался Сам.
Сделал через $.post
if(razdelValue.length != 0 && razdelValue != 'default') {
$.post("addSMS/ajax.php",{razdel: razdelValue},
function (data, status){
part.empty().prepend(data).attr('disabled','');
})
}
Ошибка была в файле ajax.php
header('Content-Type: text/html; charset=utf-8');
if (!isset($_SERVER['HTTP_X_REQUESTED_WITH'])){
exit('Данные отправлены не через AJAX');
}
if (isset($_REQUEST['razdel'])){
echo show_part();
} else {
echo 'Данные не получены';
}
//Формируем список таблиц
function show_part(){
$choose_razdel=$_REQUEST['razdel'];
$choose_razdel = iconv("UTF-8", "windows-1251", $choose_razdel);
$result21 = mysql_query("SELECT DISTINCT rus_trans FROM title WHERE rus_raz='$choose_razdel'"); //,
$myrow21 = mysql_fetch_array($result21);
//$out = 'Выбрано '.mysql_num_rows($result21).'<br />'.$choose_razdel;
[B]ОШИБКА ЗДЕСЬ[/B]
do
{
$rus_trans[] = preg_replace("/( \d)$/","",$myrow21['rus_trans']);
$rus_trans = array_unique($rus_trans);
}
while ($myrow21 = mysql_fetch_array($result21));
$out = '<option value="default" name="chP" selected>Выберите категорию</option>';
foreach($rus_trans as $key=>$value){
$out .= "<option value='$rus_trans[$key]' > $rus_trans[$key]</option>";
}
$out = iconv("windows-1251", "UTF-8", $out);
return $out;
}
Раньше когда та строка была раскоментирована, она содержала информацию о выбранном количестве строк, и переменной по которой производилась выборка из базы, и не содержала тега <option>.
Все браузеры это пропускали мимо ушей, а долбанный IE не понимал такой HTML разметки и выводил пустой список.
Вывод будьте, внимательны при формировании элементов <option>.
P.S. Через $.getJSON делать пока не буду, может потом время будет покапаюсь еще разберусь, там строки
$out = 'Выбрано '.mysql_num_rows($result21).'<br />'.$choose_razdel;
нет в файле ajax.php, но там новые элементы списка вообще ни в одном браузере не появлялись.