2013-05-27 59 views
1

在这里,我尝试了尽可能多的,但无法获得结果。请任何人帮助我。 我不能使用这些代码得到正确的结果。可能是我缺少的东西。Jquery在选择标签中添加选项

$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"); 
    }); 

,我感觉一切都很好,但我越来越没有输出:(

+0

什么是 “不输出” 是什么意思? select元素是否被'.empty()'语句清除? – nnnnnn

+0

是的,选择元素被清除。 –

+0

rü获得结果 –

回答

1

尝试...... 修订

$('#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"); 
    }); 
+0

解释你的答案 –

+0

首先解释你的问题? –

+0

这是如何回答问题 –

1

您需要引用查询:

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

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

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

+0

,选择元素没有被清除并获得空选择。 –

+0

对不起,重试 - 我刚刚编辑它 – Farkie

+0

没有改善先生。 :( –

0

,而不是下面的代码:

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) { 
     $('#benefit').append('<option value="' 
          + data[i].id 
          + '">' 
          + data[i].name 
          + '</option>'); 
    }); 

在这里选择的VAR没有选择标记,这就是为什么的对象。

+0

他甚至没有得到结果 –

+0

@kongaraju你怎么能说他没有得到结果? – 2013-05-27 11:57:04

+0

看看我对问题的看法 –

0

改变这一点的script.js

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

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

OR

阿西GN的关键values$result

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

这应该工作

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