Манипулировать свойством дочернего элемента
У меня есть следующий элемент строки с прикрепленным к нему событием двойного щелчка.
<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
в элементе ввода для переключения true/ false.
JavaScript:
onLabelDoubleClicked = function (event) {
}
Я искал через event
свойства, но не смог найти ничего полезного, чтобы получить enable property
и манипулировать этим. Любая помощь с рабочим примером будет принята с благодарностью. Благодарю вас!
2 ответа
Если вы можете использовать jQuery (а наборы тегов подразумевают это), почему бы просто не использовать методы jQuery (и Kendo)?
$('tr').dblclick(function() {
var $kd = $(this).find('input').data("kendoDropDownList");
$kd.enable( $kd.element.is(':disabled') );
});
Вместо встраивания события doubleclick будет проще, если вы поместите обработчик в код 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);
});