将ajax-jquery数据附加到cakephp的dropdownlist中

时间:2013-02-19 11:02:18

标签: php javascript jquery ajax cakephp

朋友们,我正在尝试将我的ajax输出附加到我的下拉列表中....

我的ajax功能: -

 $.ajax({ 
     url: "getcolumn",
     data: {value: value},
     type: "POST",
     success: function(output) {
        var column = output;//here i am assigning the output to another variable
        var mySelect = $('#table_name');
        $.each(column, function(val, text) {
          mySelect.append($('<option></option>').val(val).html(text));
        });

我的下拉形式: -

echo $this->Form->input('Column', array(
    'label' => 'Select the column name below',
    'name' => 'tablename',
    'id' => 'table_name',
    'options' => array('null')
));

我想将ajax的输出附加到上面的下拉框中.... 我试图追加我的ajax成功函数,但没有工作。谁能帮我吗.... 输出的形式是json .....

2 个答案:

答案 0 :(得分:0)

试试这个:

$.ajax({ 
 url: "getcolumn",
 data: {value: value},
 type: "POST",
 contentType: "application/json", //<----add this
 dataType: "json"                 //<----and this
 success: function(output) {
    var column = output;//here i am assigning the output to another variable
    var mySelect = $('#table_name');
    $.each(column, function(val, text) {
      mySelect.append($('<option></option>').val(val).html(text.id));
    });
 }
 });

答案 1 :(得分:0)

我建议在你的获取列脚本中创建正确的json 对于你的jquery每个工作json应该看起来像:

[{id: 86,label: "venue and address"}, {id: 87,label: "venue and address"}]

然后修改你的循环:

mySelect.append($('<option></option>').val(text.id).text(text.label));