操纵子元素的属性

时间:2012-11-06 16:27:30

标签: javascript jquery

我有以下行元素,并且有一个双击事件。

<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>

双击我需要在input元素中设置enable kendoDropDownList属性以切换为true / false。

的javascript:

onLabelDoubleClicked = function (event) {

    }

我搜索了event属性,但找不到任何有用的内容来获取enable property并对其进行操作。任何有关工作示例的帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:3)

如果将处理程序放在JS代码中并从那里遍历/更改DOM,则不会内联doubleclick事件。

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

试试这个:

$('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);
});

答案 1 :(得分:1)

如果你可以使用jQuery(并且标记集暗示你是),为什么不只是使用jQuery(和Kendo)方法呢?

$('tr').dblclick(function() {
  var $kd = $(this).find('input').data("kendoDropDownList");
  $kd.enable( $kd.element.is(':disabled') );
});