jQuery MiniUI

标题: 紧急求助!js生成的datagrid的单元格的编辑文本框添加css类 [打印本页]

作者: x-strong    时间: 2014-7-16 10:33:40     标题: 紧急求助!js生成的datagrid的单元格的编辑文本框添加css类

紧急求助!!!
用js生成datagrid时,有单元格编辑功能,如何给editor添加css样式类?!

  1. {
  2.                   field: "OutAmount",
  3.                   header: "实际出库数量",
  4.                   //width: 60,
  5.                   headerAlign: "center",
  6.                   allowSort: false,
  7.                   editor: {
  8.                     type: "textbox",
  9.                     "class": "ime-inactive"
  10.                   }
复制代码
这样是无效的——“ime-inactive”类根本没加上!
坐等回复!!!!

作者: felt    时间: 2014-7-16 11:09:27

本帖最后由 felt 于 2014-7-16 11:11 编辑

不行,动态生成的通过type来辨识编辑器的,class无效
你需要通过添加class实现什么效果

作者: x-strong    时间: 2014-7-16 12:21:47

怎么回事,我回复你怎么提示包含非法信息,无法提交?!!
作者: x-strong    时间: 2014-7-16 12:26:04

[attach]4834[/attach] 这是怎么回事?




作者: x-strong    时间: 2014-7-16 12:27:12     标题: ???

felt 发表于 2014-7-16 11:09
不行,动态生成的通过type来辨识编辑器的,class无效
你需要通过添加class实现什么效果
...


作者: x-strong    时间: 2014-7-16 12:29:07

felt 发表于 2014-7-16 11:09
不行,动态生成的通过type来辨识编辑器的,class无效
你需要通过添加class实现什么效果
...

我加class是为了禁用输入法
作者: felt    时间: 2014-7-16 13:29:50

x-strong 发表于 2014-7-16 12:29
我加class是为了禁用输入法

估计你回复的里面有敏感词,dicuzz系统抽了

监听oncellbeginedit事件,这样试试
function onCellBeginEdit(e){
   var el=e.editor.getEl()
   $(el).addClass(className)
}
作者: x-strong    时间: 2014-7-16 13:40:13

felt 发表于 2014-7-16 13:29
估计你回复的里面有敏感词,dicuzz系统抽了

监听oncellbeginedit事件,这样试试

截图你看到了,哪有什么敏感词啊
作者: felt    时间: 2014-7-16 14:46:31

x-strong 发表于 2014-7-16 13:40
截图你看到了,哪有什么敏感词啊

我们不用讨论的敏感词问题,这个论坛系统用的discuzz,他到底设置了什么敏感词,我们不清楚
用我提供的方法你试一下
作者: x-strong    时间: 2014-7-16 16:38:11

本帖最后由 x-strong 于 2014-7-16 16:41 编辑
felt 发表于 2014-7-16 14:46
我们不用讨论的敏感词问题,这个论坛系统用的discuzz,他到底设置了什么敏感词,我们不清楚
用我提供的方 ...

不行的,因为miniui的控件都是用html元素嵌套包装而成,而且指定添加的样式是应用在外层的span元素上,而不是应用到html原生的控件。用版主提供的方法:
  1. function onCellBeginEdit(e){
  2.    var el=e.editor.getEl()
  3.    $(el).addClass(className)
  4. }
复制代码
得到如下结果,显然,文本框的输入法是不会被禁用的,请看截图和生成的html代码:

[attach]4835[/attach]



  1. <div class="mini-grid-editwrap" style="left: 1058px; top: 139px; width: 147px; display: block; position: absolute; z-index: 1001;"><span title="" class="mini-textbox" id="mini-104" style="border-width: 0px; width: 147px;"><input class="mini-textbox-input  ime-disabled" style="width: 143px;" type="text" placeholder="" autocomplete="off" /><input type="hidden" value="32.3" /></span></div>
复制代码
不过,版主提供的方法做一下修改或者CSS样式做一下调整是可以达到目的的:

方案一:修改onCellEdit方法:



  1. grid.on('cellBeginEdit', function (e)
  2.   {
  3.     //var el = e.editor.getEl();
  4.     //$(el).addClass('ime-disabled');
  5.    
  6.     var textbox = $(e.editor.getEl()).children("input[type=text]").first();
  7.     textbox.addClass('ime-disabled');   
  8.   });
复制代码
方法二:修改CSS样式类:

  1. .ime-disabled input[type=text]
  2. {
  3.      ime-mode: disabled;
  4. }
  5. onCellBeginEdit方法:
  6. grid.on('cellBeginEdit', function (e)
  7. {
  8.     var el = e.editor.getEl();
  9.     $(el).addClass('ime-disabled');
  10. });
复制代码


作者: x-strong    时间: 2014-7-16 16:44:15

felt 发表于 2014-7-16 14:46
我们不用讨论的敏感词问题,这个论坛系统用的discuzz,他到底设置了什么敏感词,我们不清楚
用我提供的方 ...

也借此时机,向MiniUI提一下建议,希望能够给文本框控件加imeMode这个属性,这个确实很有必要,很有用,关乎效率和用户体验,希望MiniUI认真考虑。
作者: felt    时间: 2014-7-16 17:00:03

x-strong 发表于 2014-7-16 16:44
也借此时机,向MiniUI提一下建议,希望能够给文本框控件加imeMode这个属性,这个确实很有必要,很有用, ...

好的
我们在以后的更新可以考虑加上




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2