通过ajax加载jqgrid到对话框搜索选项下拉列表不起作用

时间:2014-04-04 14:27:44

标签: ajax jqgrid

当我在页面上使用我的jqgrid(v.4.6)时,evrything是可以的。 当我通过ajax将jqgrid加载到jquery对话框时,searchoptions下拉列表对我不起作用。 在jqgrid搜索框中,searchoptions下拉列表对我来说也不起作用。

$(document).ready(function(){

        jQuery("#list_bs").jqGrid({
    url:'some.php',
    datatype: "json",
    height: 450,
    width: 1050,

    colNames:['FirstName','Name','Date'],
    colModel:[  

                {name:'FirstName',index:'FirstName', width:200,  sorttype:'string', searchoptions:{sopt:['bw','bn','cn','ne','ew','en']}},
                {name:'Name',index:'Name', width:200,  sorttype:'string', searchoptions:{sopt:['bw','bn','cn','ne','ew','en']}},
                {name:'Date',index:'Date', width:100,  sorttype:'string', searchoptions:{sopt:['bw','bn','cn','ne','ew','en']}},

    ],
    rowNum:50,
    rowList : [20,30,50],
    loadonce:false,
        multiselect : false,
    mtype: "GET", 
        shrinkToFit: false,
    rownumbers: true,  
    gridview: true,
    pager: '#pager',
    sortname: 'Name',
        viewrecords: true,
        sortorder: "ASC",
        toolbar: [true,"top"],


});
$("#list_bs").jqGrid('navGrid', '#pager_bs', 
                {

            edit:false,

              add:false , 

                del:false,
                },
                {},
                {},
                {},
                {    
                    multipleSearch: true,
                    showQuery: true
                }
               ......
            )
            });

jQuery("#list_bs").jqGrid('filterToolbar',{ searchOperators: true,stringResult:true, searchOnEnter: false, autosearch: true ,enableClear: false});

2 个答案:

答案 0 :(得分:0)

尝试下面这项工作对我来说。你已经在其列模型的下拉列表中提供了数据

{
                      name: 'Name', Name: 'Title', align: 'center', editable: true, editoptions: { readonly: 'readonly' },
                      stype: 'select',
                      searchoptions: {
                          sopt: ['eq','cn'],
                          dataUrl: //get data from server
                          buildSelect: function (data) {
                              var response, s = '<select>', i;
                              response = jQuery.parseJSON(data);
                              s += '<option value="0">--Select Book Title--</option>';
                              if (response && response.length) {
                                  $.each(response, function (i) {
                                      s += '<option value="' + this.Name+ '">' + this.Name+ '</option>';
                                  });
                              }
                              return s + '</select>';
                          }
                      }

                  }

答案 1 :(得分:0)

我不需要在工具栏输入中下拉列表 我的搜索运算符下拉列表无法打开。 问题是当我自己的jqgrid被ajax加载到jquery对话框时。

$( "#my_dialog" ).dialog({
                           width:'auto', 
                           open: function(event, ui){


                            $.ajax(
                                    {
                                     url: "some.php",
                                         type: "POST",
                                        data: "is_dialog=true",
                                     error: function(){     
                                     },
                                     beforeSend: function(){
                                             $("#loader").show();
                                    },
                                    complete: function(){
                                             $("#loader").hide();
                                    },
                                    success: function( strData ){
                                            $("#dialog_content").html(strData );  

                                    }
                                    }                           
                                );

                           },

                        }); 
                                ...........
<div id="my_dialog" >
    <div id="dialog_content"></div>
</div>