easyui如何使输入框textbox获取到焦点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui如何使输入框textbox获取到焦点相关的知识,希望对你有一定的参考价值。

参考技术A 与原生js差不多,毕竟都是对其进行了封装。
focus 获取焦点:
$('#search_state-comb').combobox().next('span').find('input').focus()
参考技术B 方法一:通过jquery方式获取,$("#id").val()
方法二:通过easyui组件方法获取,如对于numberbox组件:
$('#nn').numberbox('getValue');

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 取消选择指定的选项。















以上是关于easyui如何使输入框textbox获取到焦点的主要内容,如果未能解决你的问题,请参考以下文章

vba textbox在失去焦点后如何重新获取焦点

JQuery下focus()无法自动获取焦点的处理方法 jquery如何使文本框获得焦点

HTML:如何使一个网页打开时,第一个输入框自动获得焦点?

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

C# winform中咋实现当文本框获得焦点时,如何切换到中文输入法或英文输入法啊?

wpf 焦点定位到 文本框开头? 2:如何按Tab,让焦点不进入第3个文本框,意思是在前两个文本框中切换