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プロパティを設定してkendoDropDownListtrue/falseを切り替える必要があります。

javascript:

onLabelDoubleClicked = function (event) {

    }

プロパティを検索しましたが、を取得して操作するeventのに役立つものは見つかりませんでした。enable property実例の助けがあれば大歓迎です。ありがとう!

4

2 に答える 2

3

ダブルクリックイベントをインライン化する代わりに、ハンドラーをJSコードに配置し、そこからDOMをトラバース/変更すると簡単です。

プロパティ内の剣道のものについてはよくわかりませんが、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);
});
于 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 に答える