如何以编程方式或什至通过 html 标记 enable/disable Angular Kendo 组合框
How to enable/disable Angular Kendo Combobox programatically or even by html markup
我正在尝试 disable/enable kendo Combobox
基于在 searchString
文本框中输入的文本。
如果输入文本,则应禁用 combobox
,如果 searchString
中没有文本,则应仅启用 combobox
。
这里是 DOJO Link
<input type='search' ng-model='searchString' />
<div style="padding-top: 1em;">
<h4>Remote data</h4>
<select kendo-combo-box k-enable='!(searchString && searchString.length > 0)'
k-placeholder="'Select product'"
k-data-text-field="'ProductName'"
k-data-value-field="'ProductID'"
k-filter="'contains'"
k-auto-bind="false"
k-min-length="3"
k-data-source="productsDataSource"
style="width: 100%" >
</select>
</div>
我知道 jQuery
、
可以实现该功能
$('#id').kendoComboBox({ enabled: true });
但是如何用 Angular JS 做到这一点?我可以在 angular 控制器中为 searchString
保留 $watch()
,但问题是如何使用 Angular JS 代码禁用 combobox
?
得到解决方案。
当我们为 kendo-combo-box
.
提供值时,Kendo UI
会创建一个新的 $scope
变量
如下所示,myCombobox
<select kendo-combo-box='myCombobox'
k-placeholder="'Select product'"
k-data-text-field="'ProductName'"
k-data-value-field="'ProductID'"
k-filter="'contains'"
k-auto-bind="false"
k-min-length="3"
k-data-source="productsDataSource">
</select>
我们可以在控制器中使用相同的 $scope
变量来禁用它。
$scope.myCombobox.enable(false);
我已经更新了相同的DOJO
您可以使用ng-disabled
示例:
<select
kendo-combo-box="projectCombobox"
k-data-source="projectDataSource"
k-data-text-field="'code'"
k-data-value-field="'projectId'"
k-value-primitive="true"
k-ng-model="checklist.projectId"
k-suggest="true"
k-filter="'contains'"
k-change="onProjectChange"
style="width: 100%"
ng-disabled="!DriveTagSelected">
</select>
ng-disabled="!DriveTagSelected"
这里可以根据自己的情况定义变量。
现在可以通过使用 k-ng-disabled
获得更好的新方法,您不需要 $watch
变量
http://docs.telerik.com/kendo-ui/AngularJS/introduction#state-changes
我正在尝试 disable/enable kendo Combobox
基于在 searchString
文本框中输入的文本。
如果输入文本,则应禁用 combobox
,如果 searchString
中没有文本,则应仅启用 combobox
。
这里是 DOJO Link
<input type='search' ng-model='searchString' />
<div style="padding-top: 1em;">
<h4>Remote data</h4>
<select kendo-combo-box k-enable='!(searchString && searchString.length > 0)'
k-placeholder="'Select product'"
k-data-text-field="'ProductName'"
k-data-value-field="'ProductID'"
k-filter="'contains'"
k-auto-bind="false"
k-min-length="3"
k-data-source="productsDataSource"
style="width: 100%" >
</select>
</div>
我知道 jQuery
、
$('#id').kendoComboBox({ enabled: true });
但是如何用 Angular JS 做到这一点?我可以在 angular 控制器中为 searchString
保留 $watch()
,但问题是如何使用 Angular JS 代码禁用 combobox
?
得到解决方案。
当我们为kendo-combo-box
.提供值时,
Kendo UI
会创建一个新的 $scope
变量
如下所示,myCombobox
<select kendo-combo-box='myCombobox'
k-placeholder="'Select product'"
k-data-text-field="'ProductName'"
k-data-value-field="'ProductID'"
k-filter="'contains'"
k-auto-bind="false"
k-min-length="3"
k-data-source="productsDataSource">
</select>
我们可以在控制器中使用相同的 $scope
变量来禁用它。
$scope.myCombobox.enable(false);
我已经更新了相同的DOJO
您可以使用ng-disabled
示例:
<select
kendo-combo-box="projectCombobox"
k-data-source="projectDataSource"
k-data-text-field="'code'"
k-data-value-field="'projectId'"
k-value-primitive="true"
k-ng-model="checklist.projectId"
k-suggest="true"
k-filter="'contains'"
k-change="onProjectChange"
style="width: 100%"
ng-disabled="!DriveTagSelected">
</select>
ng-disabled="!DriveTagSelected"
这里可以根据自己的情况定义变量。
现在可以通过使用 k-ng-disabled
获得更好的新方法,您不需要 $watch
变量
http://docs.telerik.com/kendo-ui/AngularJS/introduction#state-changes