在jeasyui组合框中显示数据

时间:2015-04-08 04:05:05

标签: php jquery combobox jeasyui

我有一个带有jeasyui的组合框字段,我想验证数据..但数据不会出现在列表中..

这是截图:

  

http://s.kaskus.id/images/2015/04/08/2192642_20150408103727.jpg

但是,当我在其上键入一个单词来过滤列表时,它可以正常工作! 例如纽约和新泽西......我输入了它,列表已过滤

这里再次截图:

  

http://s.kaskus.id/images/2015/04/08/2192642_20150408104053.jpg

这里是代码..我从互联网上获取此代码,但示例是使用json进行数据,同时我使用链接到另一个文件进行数据。

function cmdArea($name,$caption)
{
?>  
<tr>    
<td><?php getCaption($caption);?> :</td>
<td>
    <input class="easyui-combobox" 
        id="<?php echo $name;?>"
        name="<?php echo $name;?>"
        data-options="

            method:'post',
            mode:'remote',
            valueField:'id',
            textField:'area_name',
            panelHeight:'auto',panelHeight:100,width:150, forceSelection:true"
            disabled=true>
    </input>
<script>
$.extend($.fn.validatebox.defaults.rules,{
exists:{
    validator:function(value,param){
        var cc = $(param[0]);
        var v = cc.combobox('getValue');
        var rows = cc.combobox('getData');
        for(var i=0; i<rows.length; i++){
            if (rows[i].id == v){return true}
        }
        return false;
    },
    message:'The entered value does not exists.'
  }
});

$(function () {
 $('#harea').combobox({
    url: 'services/runCRUD.php?func=datasource&lookup=mst/area&pk=<?php echo "area_code"; ?>&sk=<?php echo "area_name"; ?>&order=area_name', // <-- here is my data, the example was a json data then i tried to change with mine but not working
    panelHeight: 'auto',
    selectOnNavigation: false,
    valueField: 'id',
    textField: 'text',
    editable: true,
    required: true,    
    validType: 'exists["#harea"]',
    onLoadSuccess: function () { },
    filter: function (q, row) {
    return row.text.toLowerCase().indexOf(q.toLowerCase()) == 0;
    },

});

$('#harea').combobox('setValue','1');

$('#harea').combobox('validate')
alert($('#harea').combobox('isValid'));
});
</script>
</td>
</tr>
<?php
}
?>

有人能帮帮我.. 并感谢之前。

1 个答案:

答案 0 :(得分:0)

顺便问一句,为什么要寻找困难的方法?

只需参阅jeasyui combobox手册

示例:

HTML

    <input id="cc1" class="easyui-combobox" data-options="
            valueField: 'id',
            textField: 'text',
            url: 'get_data1.php',
            onSelect: function(rec){
                var url = 'get_data2.php?id='+rec.id;
                $('#cc2').combobox('reload', url);
            }">
    <input id="cc2" class="easyui-combobox" data-options="valueField:'id',textField:'text'">

PHP get_data2.php

<?php
$data="    [{
        "id":1,
        "text":"text1"
    },{
        "id":2,
        "text":"text2"
    },{
        "id":3,
        "text":"text3",
        "selected":true
    },{
        "id":4,
        "text":"text4"
    },{
        "id":5,
        "text":"text5"
    }]";
echo $data; 
?>