作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试禁用基于事件的表单。我有一个 JQuery 脚本,它将禁用表/div 等的所有输入。但是 DevExpress 组合框仍然允许用户选择一个选项。控件的输入部分显示为禁用,但选择按钮和下拉菜单仍然有效。
作为 DevExpress 客户端 API 和 Jquery 的新手,我的问题是:如何以跨浏览器兼容的方式使用 JQuery 将控件设置为禁用?
这是我目前拥有的
//JQuery 代码
// Disable all input types in the table
$('#addressTable :input').attr('disabled', true);
// Disable DevExpress MVC Combobox **(Fails)**
$('#StateProvinceType.StateProvinceTypeId').SetEnabled(false);
//HTML扩展代码
@Html.DevExpress().ComboBox(settings =>
{
settings.Properties.DropDownStyle = DropDownStyle.DropDown;
settings.Name = "StateProvinceType.StateProvinceTypeId";
settings.Properties.ValueType = typeof(int);
}).BindList(Model.States).GetHtml()
最佳答案
当Name/ClientInstanceName属性用点分隔时,需要通过“ASPxClientControl.GetControlCollection( ).GetByName()”方法(由于 JavaScript 的具体情况)。不要忘记启用客户端 API:
@Html.DevExpress().ComboBox(settings => {
settings.Name = "StateProvinceType.StateProvinceTypeId";
settings.Properties.Items.Add("1", "1");
settings.Properties.Items.Add("2", "2");
settings.Properties.Items.Add("3", "3");
settings.Properties.EnableClientSideAPI = true;
}).GetHtml()
<input type="button" onclick="OnClick();" value="Toggle" />
<script type="text/javascript">
var enabled = true;
function OnClick() {
var comboBox = ASPxClientControl.GetControlCollection().GetByName("StateProvinceType.StateProvinceTypeId");
comboBox.SetEnabled(!enabled);
enabled = !enabled;
}
</script>
否则,客户端编程对象可直接在全局上下文中使用:
@Html.DevExpress().ComboBox(settings => {
settings.Name = "comboBox";
settings.Properties.Items.Add("1", "1");
settings.Properties.Items.Add("2", "2");
settings.Properties.Items.Add("3", "3");
settings.Properties.EnableClientSideAPI = true;
}).GetHtml()
<input type="button" onclick="OnClick();" value="Toggle" />
<script type="text/javascript">
var enabled = true;
function OnClick() {
comboBox.SetEnabled(!enabled);
enabled = !enabled;
}
</script>
关于jquery - 如何从客户端禁用 DevExpress MVC 组合框 (JS/JQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344153/
我是一名优秀的程序员,十分优秀!