0

我有以下带有双击事件的行元素。

<tr ondblclick="onLabelDoubleClicked(this)">
   <td><label id="labelId" >My Label</label></td>
   <td><input type="text" id="myInput" data-bind="kendoDropDownList: { data: source, value: myValue, enable: true }" /></td>
</tr>

双击时,我需要将输入元素的enable属性设置为切换真/假。kendoDropDownList

javascript:

onLabelDoubleClicked = function (event) {

    }

我搜索了event属性,但找不到任何有用的东西来获取enable property和操作它。任何有关工作示例的帮助将不胜感激。谢谢你!

4

2 回答 2

3

如果将处理程序放在 JS 代码中并从那里遍历/更改 DOM,则不是内联双击事件,而是更容易。

我不确定该data-bind属性中的 Kendo 内容,但对我来说它看起来像一个字符串,所以除非你有更好的方法,否则你需要进行字符串替换。

尝试这个:

$('tr').dblclick(function() {
    var $el = $(this).find(':text'),
        data = $el.data('bind');
    if (/true/.test(data)) {
        data = data.replace(/true/,'false');
    } else if (/false/.test(data)) {
        data = data.replace(/false/,'true');
    }
    $el.prop('data-bind', data);
});
于 2012-11-06T16:33:10.090 回答
1

如果您可以使用 jQuery(并且标签集意味着您可以),为什么不直接使用 jQuery(和 Kendo)方法呢?

$('tr').dblclick(function() {
  var $kd = $(this).find('input').data("kendoDropDownList");
  $kd.enable( $kd.element.is(':disabled') );
});
于 2012-11-06T16:35:13.273 回答