天天看點

EasyUI–下拉框combobox

之前貓哥已經分别示範了如何從json檔案、如何從後端(比如Servlet)傳回的json資料中加載資料到EasyUI控件。是以對于這四個資料控件,貓哥僅示範從json檔案中擷取資料後綁定即可,這樣非常簡潔明了,到了項目開發示範的階段,根據需求一些地方就會使用後端過來的資料。

因為資料控件的使用頻率高、需要說明的地方也多,尤其是表格(涉及很多内容比如分頁、帶複選框),是以本篇單獨講下拉框的實作及其資料的綁定。

先看示意圖:

EasyUI–下拉框combobox
其中用到了一個users_data.json檔案,在webroot下的json檔案夾下,具體内容為:

[
    {
        "userId":"1",
        "userName":"test",
        "userEmail":"[email protected]",
        "userSex":"1"
    },
    {
        "userId":"2",
        "userName":"haha",
        "userEmail":"[email protected]",
        "userSex":"0"
    }
]
      

具體實作如下,注意文字描述:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>下拉框combobox示例</title>
    <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
    <script type="text/javascript" src="easyui/jquery.min.js"></script>
    <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
  </head>
  <body>
    <div class="easyui-panel" title="示例 簡單下拉框" style="width:400px;padding:10px 10px;">
        <div>使用easyui-combobox樣式即可</div>
        <select id="hobby" class="easyui-combobox" label="興趣愛好:" labelPosition="left" style="width:100%;">
                <option value="football">足球</option>
                <option value="basketball">籃球</option>
        </select>
        <a href="javascript:void(0)" class="easyui-linkbutton" onclick="getSelectedHobby()">擷取選中值</a>
    </div>
    <div class="easyui-panel" title="示例 靜态綁定資料" style="width:400px;padding:10px 10px;">
        <div>靜态綁定users_data.json檔案中的資料,注意可以将url換成servlet的url,就可以直接擷取後端的資料,當然,後端的資料需要以json格式傳回</div>
        <div>注意valueField和textField分别對應json資料中的‘鍵’,還有一點就是select标簽換成input也是可行的</div>
        <select id="name" class="easyui-combobox" style="width:100%;" data-options="
            url:'json/users_data.json',
            valueField: 'userId',
            textField: 'userName',
            label: '選擇使用者',
            labelPosition: 'top'">
        </select>
    </div>
    <div class="easyui-panel" title="示例 動态綁定資料" style="width:400px;padding:10px 10px;">
        <div>通過js動态綁定資料</div>
        <a href="javascript:void(0)" class="easyui-linkbutton" onclick="bindUsersInfo()">綁定</a>
        <select id="usersSelect" class="easyui-combobox" style="width:100%;" data-options="
            valueField: 'userId',
            textField: 'userName',
            label: '選擇使用者',
            labelPosition: 'top'">
        </select>
    </div>
    
    <script type="text/javascript">
        function getSelectedHobby(){
            var value=$("#hobby").combobox("getValue");
            alert(value);
        }
        function bindUsersInfo(){
            $('#usersSelect').combobox('reload', 'json/users_data.json');
        }
    </script>
  </body>
</html>