Php 选择标记中的jqueryappend选项

Php 选择标记中的jqueryappend选项,php,jquery,sql,ajax,Php,Jquery,Sql,Ajax,在这里,我尽了我所能,但没有得到结果。请任何人帮我一下。 我无法使用这些代码得到正确的结果。可能是我遗漏了什么 $get_medical_aod_name = $_POST['name']; $select_query = mysql_query("SELECT id, name FROM insurance_companies WHERE cat=$get_medical_aod_name"); while ($row = mysql_fetch_array($select_query)) {

在这里,我尽了我所能,但没有得到结果。请任何人帮我一下。 我无法使用这些代码得到正确的结果。可能是我遗漏了什么

$get_medical_aod_name = $_POST['name'];
$select_query = mysql_query("SELECT id, name FROM insurance_companies WHERE cat=$get_medical_aod_name");
while ($row = mysql_fetch_array($select_query)) {
  $result[] = array(
    'id' => $row['id'],
    'name' => $row['name']
  );
}
header('Content-Type: application/json', true);
echo json_encode($result);
在我的script.js中

$('#medical_aid_name').change(function(){
       //alert("working");
       var name = $(this).val();
       $.post('ins_bene.php',
    {'name' : name },
    function(data){
        var select = $('#benefit').empty();
        $.each(data.values, function(i,data) {
            select.append( '<option value="'
                                 + data.id
                                 + '">'
                                 + data.name
                                 + '</option>' ); 
        });
    }, "json");
   }); 
$('#医疗_-aid_-name')。更改(函数(){
//警惕(“工作”);
var name=$(this.val();
$.post('ins_bene.php',
{'name':name},
功能(数据){
var select=$('#benefit').empty();
$.each(data.values,function(i,data){
select.append(“”
+data.name
+ '' ); 
});
}“json”);
}); 

我感觉一切都很好,但没有得到任何结果:(

您需要引用查询:

$select_query = mysql_query("SELECT id, name FROM insurance_companies WHERE cat=$get_medical_aod_name");


请不要使用mysql函数。请移到PDO!

而不是以下代码:

 var select = $('#benefit').empty();
        $.each(data.values, function(i,data) {
            select.append( '<option value="'
                                 + data.id
                                 + '">'
                                 + data.name
                                 + '</option>' ); 
        });
var select=$('#benefit').empty();
$.each(data.values,function(i,data){
select.append(“”
+data.name
+ '' ); 
});
使用以下代码:

    var select = $('#benefit').empty();
    $.each(data.values, function(i,data) {
        $('#benefit').append( '<option value="'
                             + data[i].id
                             + '">'
                             + data[i].name
                             + '</option>' ); 
    });
var select=$('#benefit').empty();
$.each(data.values,function(i,data){
$(“#福利”)。附加(“”
+数据[i].名称
+ '' ); 
});

这里的select var没有select标记的对象,这就是原因。

尝试此…已更新

    $('#medical_aid_name').change(function() {
        var name = $(this).val();
        $.post('ins_bene.php', { 'name': name },
        function(data) {
            alert(data)  // [object][object],[object][object]
            $('#benefit').empty();
            $.each(data, function(key, value) {
                $('#benefit').append('<option value="' + value.id + '">' + value.name + '</option>');
            });
        }, "json");
    });
$('#医疗_-aid_-name')。更改(函数(){
var name=$(this.val();
$.post('ins_bene.php',{'name':name},
功能(数据){
警报(数据)/[对象][对象],[对象][对象]
$(“#福利”).empty();
$。每个(数据、函数(键、值){
$(“#福利”).append(“”+value.name+“”);
});
}“json”);
});

在script.js中更改此选项

$.each(data.values, function(key, value)

将键
分配给
$result

while ($row = mysql_fetch_array($select_query)) {
  $result['values'] = array(
    'id' => $row['id'],
    'name' => $row['name']
  );
}
这应该行得通

while ($row = mysql_fetch_array($select_query)) {
  $result['values'] = array(
    'id' => $row['id'],
    'name' => $row['name']
  );
}

“无输出”是什么意思?select元素是否用
.empty()清除
statement?是,选择element get clear。否,我没有得到结果。首先打印name,确保name不是空字符串,然后在编辑器中尝试使用name进行查询。查看我的答案。在引用查询后,select element没有被清除并为空select。这是如何回答问题的无法清除的全局变量,请首先自己尝试。var select=$(“#福利”).empty();@Stoppie Chandru DiGi抱歉不需要
var select=$(“#福利”).empty()
。只需使用
$(“#福利”).empty();
我不知道php。但在jQuery中,这是向列表框追加值的方法。@Stoppie Chandru使用alert检查(数据);。你应该得到[object][object]。如果你没有得到任何东西,那么检查你的mysql函数,他甚至没有得到results@kongaraju你怎么能说他没有得到结果呢question@kongaraju他什么也没说。谢谢你的帮助,现在一切都好了。@LakshmanaKumar编写的代码。
while ($row = mysql_fetch_array($select_query)) {
  $result['values'] = array(
    'id' => $row['id'],
    'name' => $row['name']
  );
}
while ($row = mysql_fetch_array($select_query)) {
  $result['values'] = array(
    'id' => $row['id'],
    'name' => $row['name']
  );
}