gpt4 book ai didi

javascript - 需要在单击时突出显示 jqxNumberInput 的内容

转载 作者:行者123 更新时间:2023-12-03 10:39:38 25 4
gpt4 key购买 nike

我一直在努力使用 jqxGrid 和使用 jqxNumberInput 渲染的单元格来获得一个非常简单的功能

  editor.jqxNumberInput({ decimalDigits: 2, spinButtonsStep: 0.1, spinMode: "simple", decimalSeparator: decimalSeparator, groupSeparator: groupSeparator });

基本上,当用户单击单元格时,光标一直放置在文本(数字)的右侧,我的老板希望突出显示单元格的内容(选择文本),这样用户就不必将光标向左移动以开始输入

我已经研究 jqx grid 文档很长一段时间了,但似乎没有任何东西可以实现这一目标。 http://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxgrid/jquery-grid-api.htm

我尝试绑定(bind)到 cellbeginedit 事件,并假设我可以使用该事件来获取目标元素并以这种方式选择它,但 event.target 值是整个网格,而不是单元格本身。

 $(element).on('cellbeginedit', function (event) { // event.target == grid  not cell });

我还尝试使用 getcell 方法获取单元格,但这返回该单元格的数据而不是元素本身。

 var cell = $(element).jqxGrid("getcell", args.rowindex, args.datafield);
// cell then equals the data for the row not with no reference to the

有问题的元素重申一下,我需要修改、黑客更新做一些事情,以便当用户单击 jqxNumberInput 并且单元格进入编辑模式时,单元格中的所有文本都被选中(突出显示)

任何有关此问题的帮助将不胜感激

最佳答案

您应该将编辑器自定义逻辑放入列的 initeditor 回调函数中。您可以尝试使用 jqxNumberInput API,例如“焦点”或用于选择输入中所有文本的代码。

var input = editor.find('input');
var length = input.val().length;
try {
if ('selectionStart' in input) {
input.focus();
input.setSelectionRange(0, length);
}
else {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', length);
range.moveStart('character', 0);
range.select();
}
}
catch (error) {
}

在上面的代码中,editor 是从 jqxGrid 传递到列的 initeditor 函数的参数。

关于javascript - 需要在单击时突出显示 jqxNumberInput 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28840598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com