topjui中combobox使用


1.創建combobox的方法

常用的一種是通過Js定義,一種是通過在input輸入框中定義,還有一種通過在selete標簽中定義,可以去看easyui的官方文檔 http://www.jeasyui.net/plugins/169.html

補充:dataoptions是easyui的新特性,可以在里面定義屬性,方法,樣式等

2.掌握combobox的屬性

去參考easyui的官方文檔,這里對自己所用到的做一個總結

1.combobox有一個url屬性,使用這個屬性,后台方法傳json數組過來即可

2.textField與valueField:后台在傳 json數據過來之后,一個表示在combobox中顯示的值,一個是提交表單存到數據庫的值

3.設置組合框的值 $('#cc').combobox('setValue', '001');

4.設置組合框數組的值 $('#cc').combobox('setValues', ['001','002']);

5.清除組合框的值$('#cc').combobox('clear');

6.combobox如果不讓它展示下拉框樣式的話,設置hasDownArrow:false即可,

   combobox讓它高度自適應設置panelHeight:true即可

 combobox實現可編輯editable:true

3.實現combobox級聯

實現級聯的方式有不少,自己用到的兩種方式,這里記錄easyui的方式,代碼如下:

<div data-toggle="topjui-layout" data-options="fit:true">
    <div data-options="region:'center',title:'',fit:true,border:false,bodyCls:'border_right_bottom'">
        <div class="topjui-fluid">
            <fieldset>
                <legend>子表基本信息</legend>
            </fieldset>
            <div class="topjui-row">
                <div class="topjui-col-sm6">
                    <label class="topjui-form-label">器材代碼</label> <input type="hidden" name="uuid"> <input
                        type="hidden" name="c88"><input type="hidden" name="c00">
                    <div class="topjui-input-block">
                        <input type="text" name="c1" data-toggle="topjui-combobox"
                            data-options="panelHeight:'auto',required:true,url:'Details/indexHandle.jsp?flags=queryC1',
                            valueField:'c1',textField:'c1',
                            onSelect:function(rec){
                            <!-- alert(rec.c0); -->
                                $('[comboname=c2]').combobox('clear');
                                $('[comboname=c2]').combobox('reload','Details/indexHandle.jsp?flags=queryC2&c1='+rec.c1);    
                                $('[comboname=c3]').combobox('clear');
                                $('[comboname=c3]').combobox('reload','Details/indexHandle.jsp?flags=queryC3&c1='+rec.c1);        
                                $('[comboname=c5]').combobox('clear');
                                $('[comboname=c5]').combobox('reload','Details/indexHandle.jsp?flags=queryC5&c1='+rec.c1);    
                                $('[comboname=c6]').combobox('clear');
                                $('[comboname=c6]').combobox('reload','Details/indexHandle.jsp?flags=queryC6&c1='+rec.c1);                        
                            }
                            ">
                    </div>
                </div>
                <div class="topjui-col-sm6">
                    <label class="topjui-form-label">器材名稱</label>
                    <div class="topjui-input-block">
                        <input type="text" name="c2" data-toggle="topjui-combobox"
                            data-options="prompt:'請先選擇器材代碼',hasDownArrow:false,readonly:true,required:true,panelHeight:'auto',textField:'c2',valueField:'c2'">
                    </div>
                </div>
            </div>


            <div class="topjui-row">
                <div class="topjui-col-sm6">
                    <label class="topjui-form-label">件號/規格</label>
                    <div class="topjui-input-block">
                        <input type="text" name="c3" data-toggle="topjui-combobox"
                            data-options="prompt:'請先選擇器材代碼',hasDownArrow:false,required:true,readonly:true,panelHeight:'auto',textField:'c3',valueField:'c3'">
                    </div>
                </div>
                <div class="topjui-col-sm6">
                    <label class="topjui-form-label">數量</label>
                    <div class="topjui-input-block">
                        <input type="text" name=c4 data-toggle="topjui-numberspinner"
                            data-options="maxLength:4,precision:2, required:true">
                    </div>
                </div>
            </div>


            <div class="topjui-row">
                <div class="topjui-col-sm6">
                    <label class="topjui-form-label">計量單位</label>
                    <div class="topjui-input-block">
                        <input type="text" name="c5" data-toggle="topjui-combobox"
                            data-options="prompt:'請先選擇器材代碼',hasDownArrow:false,readonly:true,required:true,panelHeight:'auto',textField:'c5',valueField:'c5'">
                    </div>
                </div>
                <div class="topjui-col-sm6">
                    <label class="topjui-form-label">參考單價</label>
                    <div class="topjui-input-block">
                        <input type="text" name="c6" data-toggle="topjui-combobox"
                            data-options="prompt:'請先選擇器材代碼',hasDownArrow:false,readonly:true,required:true,panelHeight:'auto',textField:'c6',valueField:'c6'">
                    </div>
                </div>
            </div>

            <div class="topjui-row">
                <div class="topjui-col-sm6">
                    <label class="topjui-form-label">單裝名稱</label>
                    <div class="topjui-input-block">
                        <input type="text" name="c8" data-toggle="topjui-combobox"
                            data-options="panelHeight:'auto',required:true,url:'Details/indexHandle.jsp?flags=queryC8',
                            valueField:'c8',textField:'c8',
                            onSelect:function(rec){
                            <!-- alert(rec.c0); -->
                                $('[comboname=c9]').combobox('clear');
                                $('[comboname=c9]').combobox('reload','Details/indexHandle.jsp?flags=queryC9&c8='+rec.c8);                                                    
                            }
                            
                            ">
                    </div>
                </div>

                <div class="topjui-col-sm6">
                    <label class="topjui-form-label">單裝編號</label>
                    <div class="topjui-input-block">
                        <input type="text" name="c9" data-toggle="topjui-combobox"
                            data-options="panelHeight:'auto',prompt:'請先選擇單裝名稱',hasDownArrow:false,required:true,readonly:true,valueField:'c9',textField:'c9'">
                    </div>
                </div>
            </div>

            <div class="topjui-row">
                <div class="topjui-col-sm12">
                    <label class="topjui-form-label">是否在質保期</label>
                    <div class="topjui-input-block">
                        <input type="text" name="c10" data-toggle="topjui-combobox"
                            data-options="required:true,panelHeight:'auto',textField:'text',valueField:'text',url:'../common/isDefind.json'">
                    </div>
                </div>
            </div>

        </div>

    </div>
</div>

效果如下:當選擇完器材代碼之后,自動填充一系列數據。。。我在后台傳json的時候還傳了個selected:true過來,如果要實現像省市區那樣的級聯就不用傳selected:true了

 

 補充:

1、為combobox指定name后,經過easyUI自己解析后,生成的combobox(也就是select)沒有name這個屬性,

取而代之的是comboname,因為name要作為input的name。所以要根據name得到combobox要使用comboname

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM