Обновление элементов select без перезагрузки страницы

Рейтинг: 0Ответов: 2Опубликовано: 16.02.2015

Здравствуйте, помогите, пожалуйста, реализовать обновление элементов select из базы данных по нажатию на <a href=''><img src='refresh.png'></a> без перезагрузки страницы.

Ответы

▲ 2Принят

Можно использовать для этих целей функцию getJSON. Что-то типа этого:

var url="get_data.php?param1="+param1;
$.getJSON(url,{}, function(data){
    for (var i=0;i<data.tbldata.length;i++)
        {
alert (data.tbldata[i].id);
}
});

в get_data.php:

$param1=$_GET["param1"];
 $outp="{\"tbldata\":[";
 $query="select id from `table`";
 if ($result=mysqli_query($link,$query))
 {
 if ($result=mysqli_query($link,$query))
 if ($outp != "{\"tbldata\":[") {$outp .= ",";}
 $outp .= '{"id":"'.$row["id"].'"}';
 }
 }
 $outp.="]}";
 echo $outp;

Обновление

@kiberchainik, a если подумать? ;-) Вместо alert тут может быть любой код. Я показал пример. А тебе нужно

 $('#my_select').append('option value='+data.tbldata[i].id+'>'+data.tbldata[i].id+'<option>);

Так понятнее?

▲ 1

Нужно использовать ajax.

Пишеш обработчик, который будет генерить код вида <option value="1">1</option><option value="2">2</option> и т.д. Самому селекту задаешь id и при нажатии на рефреш посылаешь ajax запрос на файл-обработчик, а результат, который возвращается, записываешь в селект.

$("#ваш_ид").html("то_что_вернется");