JQuery EasyUI(42)

                   第三十四章: ComboBoxGird(数据表格下拉框)组件

学习要点:

  1. 加载方式
  2. 属性列表
  3. 方法列表

 一、加载方式

1.class加载方式:

<!DOCTYPE html>
<html>
  <head>
    <title>JQuery Easy UI</title>
    <meta charset="utf-8"/>
    <script type="text/javascript" src="easyui/jquery.min.js"></script>
    <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>     
    <script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>     
    <script type="text/javascript" src="js/index.js"></script> 
    <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css"/>
    <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css"/> 
    <style>
        .textbox{
            height:200px;
            margin:0;
            padding:0 2px;
            box-sizing:content-box;
       } 
    </style>             
</head>
  <body>
    <select class="easyui-comboboxgrid" style="width:250px;" 
      data-options="panelWidth:450,url:'content.json',idField:'id',textField:'user',columns:[[
     {
       field:'id',
       title:'编号',
       width:100,
     }
     {
       field:'user',
       title:'账号',
       width:100,
     }

      ]]">
    </select>   
  </body>
</html>

 2.JS调用加载:

<!DOCTYPE html>
<html>
  <head>
    <title>JQuery Easy UI</title>
    <meta charset="utf-8"/>
    <script type="text/javascript" src="easyui/jquery.min.js"></script>
    <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>     
    <script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>     
    <script type="text/javascript" src="js/index.js"></script> 
    <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css"/>
    <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css"/> 
    <style>
        .textbox{
            height:200px;
            margin:0;
            padding:0 2px;
            box-sizing:content-box;
       }
  </style>             
</head>
  <body>
     <input id="box" name="box">   
  </body>
</html>
$(function(){
  $('#box').combogrid({
     panelWidth:600,
     idField:'id',
     textField:'user',
     url:'user.php',
     fitcolumns:true,
     multiple:true,
     columns:[[
       {
         field:'id',
         title:'编号',
         width:100,
         checkbox:true,
       }
       {
         field:'user',
         title:'账号',
         width:100,
       }
       {
         field:'email',
         title:'邮箱',
         width:100,
       }
       {
         field:'date',
         title:'创建时间',
         width:100,
       }
     ]],
  });
});
<?php

   //记得是:user.php

   require 'config.hph';

   $query = mysql_query("SELECT id,user,email,data FROM think_user") or die('SQL 错误!');
   
   $json ='';

   while (!!$row = mysql_fetch_array($query,MYSQL_ASSOC)){
      $json .= json_encode($row).',';
    }

   $json  = substr($json,0,-1);

   echo '['.$json.']'; 

   mysql_close();
?>

 

 二、属性列表

ComboGrid属性
属性名说明
loadMsgstring在数据表格加载远程数据的时候显示消息。默认值为null。
idFieldstringID字段名称。默认值为null。
textFieldstring要显示在文本框中的文本字段。默认值为null。
modestring定义文本改变的时候如何读取数据网格数据。设置为'remote',数据表格将从远程服务器中加载数据。当设置为'emote'模式的时候,用户输入将会发送到名为'q'的Http请求参数,向服务器检索新的数据。默认值为 local。
filterfunction(q,row)定义在'mote'设置为'local'的时候如何选择本地数据,返回true时则选择该行。
<!DOCTYPE html>
<html>
  <head>
    <title>JQuery Easy UI</title>
    <meta charset="utf-8"/>
    <script type="text/javascript" src="easyui/jquery.min.js"></script>
    <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>     
    <script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>     
    <script type="text/javascript" src="js/index.js"></script> 
    <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css"/>
    <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css"/> 
    <style>
        .textbox{
            height:200px;
            margin:0;
            padding:0 2px;
            box-sizing:content-box;
       }
  </style>             
</head>
  <body>
     <input id="box" name="box">   
  </body>
</html>
$(function(){
  $('#box').combogrid({
     loadMsg:'数据加载中……'
     panelWidth:600,
     idField:'id',
     textField:'user',
     url:'user.php',
     fitcolumns:true,
     mode:'remote',
     filter:function(q,row){
       var opts = $(this).combogrid('options');
       return row[opts.textField].indexOf(q) >= 0; 
     },
     multiple:true,
     columns:[[
       {
         field:'id',
         title:'编号',
         width:100,
         checkbox:true,
       }
       {
         field:'user',
         title:'账号',
         width:100,
       }
       {
         field:'email',
         title:'邮箱',
         width:100,
       }
       {
         field:'date',
         title:'创建时间',
         width:100,
       }
     ]],
  });
});
<?php

   sleep(3);

   require 'config.hph';

   $query = mysql_query("SELECT id,user,email,data FROM think_user") or die('SQL 错误!');
   
   $json ='';

   while (!!$row = mysql_fetch_array($query,MYSQL_ASSOC)){
      $json .= json_encode($row).',';
    }

   $json  = substr($json,0,-1);

   echo '['.$json.']'; 

   mysql_close();
?>

PS:数据表格下拉框事件完全扩展自combo(自定义下拉框)和datagrid(数据表格)

 

三、方法列表

DataGrid方法
方法名参数说明
optionsnone返回属性对象
gridnone返回数据表格对象
setValuesvalues设置组件值数组
setValuevalue设置组件值
clearnone清除组件的值
<!DOCTYPE html>
<html>
  <head>
    <title>JQuery Easy UI</title>
    <meta charset="utf-8"/>
    <script type="text/javascript" src="easyui/jquery.min.js"></script>
    <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>     
    <script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>     
    <script type="text/javascript" src="js/index.js"></script> 
    <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css"/>
    <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css"/> 
    <style>
        .textbox{
            height:200px;
            margin:0;
            padding:0 2px;
            box-sizing:content-box;
       }
  </style>             
</head>
  <body>
   <input id="box" name="box">
   <input type="button" vlaue="按钮" onclick="abc(),">   
  </body>
</html>
$(function(){
  $('#box').combogrid({
     loadMsg:'数据加载中……'
     panelWidth:600,
     idField:'id',
     textField:'user',
     url:'user.php',
     fitcolumns:true,
     mode:'remote',
     filter:function(q,row){
       var opts = $(this).combogrid('options');
       return row[opts.textField].indexOf(q) >= 0; 
     },
     multiple:true,
     columns:[[
       {
         field:'id',
         title:'编号',
         width:100,
         checkbox:true,
       }
       {
         field:'user',
         title:'账号',
         width:100,
       }
       {
         field:'email',
         title:'邮箱',
         width:100,
       }
       {
         field:'date',
         title:'创建时间',
         width:100,
       }
     ]],
  });
});


function abc(){
  //$('#box').combogrid('clear');
  //$('#box').combogrid('setValue',1);
  //$('#box').combogrid('setValues',[1,2]);
}

 

作者:Roger_CoderLife

链接:https://blog.csdn.net/Roger_CoderLife/article/details/103683513

本文根据网易云课堂JQuery EasyUI视频教程翻译成文档,转载请注明原文出处,欢迎转载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值