easyui textbox 设置只读不可编辑状态

在使用easyul的时候,发现输入框内容及不容易获取与设置,用jQuery的方式大部分失效。依稀记得好像是因为easyul会在原页面的基础上,生成了一些新的独有样式,并且暂时覆盖掉使用了easyul的标签块。  具体我也忘记了,反正知道有这么会事就可以啦,

--输入框

$("#xx").textbox(‘setValue‘,‘value‘);  //设置输入框的值

$(‘#xx‘).textbox(‘textbox‘).attr(‘readonly‘,true);  //设置输入框为禁用

--下拉框相关

$("#xx").combobox({disabled: true});      //设置下拉款为禁用

$("#xx").combobox(‘setValue‘,xlid);  //设置下拉款的默认值  xlid是你下拉款的id属性

$("#xx").combobox(‘getValue‘);      //获取下拉款id值

$("#xx").combobox(‘getText‘);      //获取下拉款name值

EasyUI Combobox 组合框

扩展自 $.fn.combo.defaults。通过 $.fn.combobox.defaults 重写默认的 defaults。

组合框(combobox)显示一个可编辑的文本框和下拉列表,用户可以从下拉列表中选择一个或多个值。用户可以直接输入文本到列表的顶部,或者从列表中选择一个或多个现成的值。

依赖

  • combo

用法

从带有预定义结构的 <select> 元素创建组合框(combobox)。

  1. <select id="cc" class="easyui-combobox" name="dept" style="width:200px;">
  2. <option value="aa">aitem1</option>
  3. <option>bitem2</option>
  4. <option>bitem3</option>
  5. <option>ditem4</option>
  6. <option>eitem5</option>
  7. </select>

从 <input> 标记创建组合框(combobox)。

  1. <input id="cc" class="easyui-combobox" name="dept"
  2. data-options="valueField:‘id‘,textField:‘text‘,url:‘get_data.php‘">

使用 javascript 创建组合框(combobox)。

  1. <input id="cc" name="dept" value="aa">
  1. $(‘#cc‘).combobox({
  2. url:‘combobox_data.json‘,
  3. valueField:‘id‘,
  4. textField:‘text‘
  5. });

创建两个依赖的组合框(combobox)。

  1. <input id="cc1" class="easyui-combobox" data-options="
  2. valueField: ‘id‘,
  3. textField: ‘text‘,
  4. url: ‘get_data1.php‘,
  5. onSelect: function(rec){
  6. var url = ‘get_data2.php?id=‘+rec.id;
  7. $(‘#cc2‘).combobox(‘reload‘, url);
  8. }">
  9. <input id="cc2" class="easyui-combobox" data-options="valueField:‘id‘,textField:‘text‘">

json 数据格式的示例:

  1. [{
  2. "id":1,
  3. "text":"text1"
  4. },{
  5. "id":2,
  6. "text":"text2"
  7. },{
  8. "id":3,
  9. "text":"text3",
  10. "selected":true
  11. },{
  12. "id":4,
  13. "text":"text4"
  14. },{
  15. "id":5,
  16. "text":"text5"
  17. }]

属性

该属性扩展自组合(combo),下面是为组合框(combobox)添加的属性。

名称 类型 描述 默认值
valueField string 绑定到该组合框(ComboBox)的 value 上的基础数据的名称。 value
textField string 绑定到该组合框(ComboBox)的 text 上的基础数据的名称。 text
groupField string 指示要被分组的字段。该属性自版本 1.3.4 起可用。 null
groupFormatter function(group) 返回要显示在分组项目上的分组文本。该属性自版本 1.3.4 起可用。
代码实例:

  1. $(‘#cc‘).combobox({
  2. groupFormatter: function(group){
  3. return ‘<span style="color:red">‘ + group + ‘</span>‘;
  4. }
  5. });
 
mode string 定义在文本改变时如何加载列表数据。如果组合框(combobox)从服务器加载就设置为 ‘remote‘。当设置为 ‘remote‘ 模式时,用户输入的值将会被作为名为 ‘q‘ 的 http 请求参数发送到服务器,以获取新的数据。 local
url string 从远程加载列表数据的 URL 。 null
method string 用来检索数据的 http 方法。 post
data array 被加载的列表数据。
代码实例:

  1. <input class="easyui-combobox" data-options="
  2. valueField: ‘label‘,
  3. textField: ‘value‘,
  4. data: [{
  5. label: ‘java‘,
  6. value: ‘Java‘
  7. },{
  8. label: ‘perl‘,
  9. value: ‘Perl‘
  10. },{
  11. label: ‘ruby‘,
  12. value: ‘Ruby‘
  13. }]" />
null
filter function 定义当 ‘mode‘ 设置为 ‘local‘ 时如何过滤本地数据。该函数有两个参数:
q:用户输入的文本。
row:列表中的行数据。
返回 true 则允许显示该行。

代码实例:

  1. $(‘#cc‘).combobox({
  2. filter: function(q, row){
  3. var opts = $(this).combobox(‘options‘);
  4. return row[opts.textField].indexOf(q) == 0;
  5. }
  6. });
 
formatter function 定义如何呈现行。该函数有一个参数:row。
代码实例:

  1. $(‘#cc‘).combobox({
  2. formatter: function(row){
  3. var opts = $(this).combobox(‘options‘);
  4. return row[opts.textField];
  5. }
  6. });
 
loader function(param,success,error) 定义如何从远程服务器加载数据。返回 false 则取消该动作。该函数有下列参数:
param:要传到远程服务器的参数对象。
success(data):当获取数据成功时将被调用的回调函数。
error():当获取数据失败时将被调用的回调函数。
json loader
loadFilter function(data) 返回要显示的过滤数据。该属性自版本 1.3.3 起可用。  

事件

该事件扩展自组合(combo),下面是为组合框(combobox)添加的事件。

名称 参数 描述
onBeforeLoad param 在请求加载数据之前触发,返回 false 则取消加载动作。
代码实例:

  1. // change the http request parameters before load data from server
  2. $(‘#cc‘).combobox({
  3. onBeforeLoad: function(param){
  4. param.id = 2;
  5. param.language = ‘js‘;
  6. }
  7. });
onLoadSuccess none 当远程数据加载成功时触发。
onLoadError none 当远程数据加载失败时触发。
onSelect record 当用户选择一个列表项时触发。
onUnselect record 当用户取消选择一个列表项时触发。

方法

该方法扩展自组合(combo),下面是为组合框(combobox)添加或重写的方法。

名称 参数 描述
options none 返回选项(options)对象。
getData none 返回加载的数据。
loadData data 加载本地列表数据。
reload url 请求远程的列表数据。传 ‘url‘ 参数来重写原始的 URL 值。
代码实例:

  1. $(‘#cc‘).combobox(‘reload‘); // reload list data using old URL
  2. $(‘#cc‘).combobox(‘reload‘,‘get_data.php‘); // reload list data using new URL
setValues values 设置组合框(combobox)值的数组。
代码实例:

  1. $(‘#cc‘).combobox(‘setValues‘, [‘001‘,‘002‘]);
setValue value 设置组合框(combobox)的值。
代码实例:

  1. $(‘#cc‘).combobox(‘setValue‘, ‘001‘);
clear none 清除组合框(combobox)的值。
select value 选择指定的选项。
unselect value 取消选择指定的选项。
时间: 2024-08-03 19:22:53

easyui textbox 设置只读不可编辑状态的相关文章

EditText控件设置只读,动态控制EditText状态 输入框不自动打开输入法

Android的文本框输入控件(EditText),有时需要设置控件为只读,最简单的方法就是在layout xml文件中设置EditText的android:editable属性值为false即可,但是大部分时候我们需要在Java代码中动态设置EditTex的只读性,而android里没有提供对应的setEditable方法来设置EditText的只读属性,这时候可以通过以下方式变通实现: public static void setEditTextReadOnly(TextView view)

asp.Net2.0中TextBox设置只读后后台获取不到值的解决方法

http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly="true"H或Enabled=false后台取不到值 当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空”  . 方法一:不设置ReadOnly属性,通过onfocus=this.blur()来模拟,如下: <asp:Text

jqgrid 批量启动所有行为可编辑状态

有时,为操作方便,需要将jqgrid表格设置为一直处于编辑状态,用户只需要在对应的编辑区填写自己信息,不再频繁的去触发行编辑和保存. 参考代码如下: //$gridCase为传入jqgrid对象 function startEdit($gridCase) { //var grid = $("#jqGrid"); var ids = $gridCase.jqGrid('getDataIDs'); //循环开启行编辑 for (var i = 0; i < ids.length; i

easyui 在编辑状态下,动态修改其他列值。

1 首先是自定义了一个方法uodateColumn更新列值 2 3 /** 4 *自定义的修改列值方法 5 */ 6 $.extend($.fn.datagrid.methods, { 7 updateColumn: function(datagrid,data) { 8 datagrid.each(function(){ 9 //获取缓存中的配置数据 10 var gridObj=$.data(this,"datagrid"); 11 var opts=gridObj.options

EasyUI,对treegrid进行编辑

主从表,从表是一个treegrid,加载完数据后,点击节点进入编辑状态. columns : [ [ {             title : "ID",             field : "id",             hidden : true         }, {             field : "pid",             hidden : true         },  {             ti

easyui textbox 赋值

$('#fireInfo').textbox('setValue', tempData.fireInfo); $('#fireStartTime').datetimebox('setValue', timeStamp2String(tempData.fireStartTime)); 总结:表单元素使用easyui时,textbox和validatebox设置值和获取值的方式不一样 为text-box设置值只能使用id选择器选择表单元素,只能使用textbox("setValue", v

JTable只要一双击就进入编辑状态,禁止的方法实现

我用JTable做了一个表格,表格内容只供查看和选择,可每次只要一双击,就进入编辑状态,可是现在我不需要当双击的时候修改表格的内容.这时候需要重载isCellEditable方法. 下面是我的实现的代码: DefaultTableModel model = new DefaultTableModel(date, columnNames) { public boolean isCellEditable(int row, int column) { return false; } }; 这样设置的话

玩转web之JQuery(二)---改变表单和input的可编辑状态(封装的js)

var FormDeal = { /** * 功能 :将表单的所有input都设为可编辑的 *@param 要操作表单的id */ formWritable: function (formId) { $("#"+formId+" input,textarea").removeAttr("readonly"); $("#"+formId+" input,textarea").css('backgroundCo

[WPF] C1ComboBox的非编辑状态

一.前言 先看看WPF自带的 ComboBox 在非编辑状态,自定义 ItemTemplate 的情况下,效果如下图所示: 其当前选中的项(红框内)与自定义的 ItemTemplate 一样: 但是 C1ComboBox 的非编辑状态(IsEditable="False"): 总感觉它的非编辑状态并没有完成,虽然数字和英文无法输入,但在红框内依旧可以输入中文文本(QQ拼音输入法的中文输入状态):并且在非编辑状态下并非像 Combobox 的非编辑状态可以显示自定义的 ItemTempl