Rad网格编辑模式通过选中复选框时的java脚本启用禁用所需的字段验证器
Rad-grid edit mode enable disable required filed validator through java script on check box selection
我在RadGrid中有一个复选框、下拉列表和必填字段validtor。我想在选中复选框后为下拉列表启用禁用所需的字段验证器。现在,下面的Java脚本代码在编辑模式下启用和禁用所需的文件验证器。
但是,当我单击rad网格编辑模式更新按钮(复选框未选中,下拉框选择的值也为空(")时,它会等待一段时间(可能是在做回发),然后再次启动所需的字段验证器。
知道它为什么会这样吗。帮助感激。
我从下面的链接得到了控制访问部分。从javascript 访问Telerik RadGrid编辑模式
我的雷达网格标记:
<EditItemTemplate>
<asp:CheckBox ID="chkConfigurable" runat="server" Checked='<%# Bind("Configurable") %>'
</EditItemTemplate>
这是我的java脚本代码:
//启用或禁用所需的字段验证器取决于复选框选择
function EnableDisbaleConfigRfv(chkbx) {
var grid = $find("<%=rgItems.ClientID %>");
var masterTable = grid.get_masterTableView();
// get the required field validator id from grid
var rfv = $telerik.$(masterTable.get_element()).find('[id*="rfvddlConfigTeam"]')[0];
// enable disable validator
if (chkbx) {
ValidatorEnable(rfv, true);
ValidatorUpdateDisplay(rfv); // this one added after reading some posts but no luck.
} else {
ValidatorEnable(rfv, false);
}
}
请尝试以下代码片段。
js
function ValidateValidation(cmb, chk, lbl) {
cmb = $find(cmb);
chk = document.getElementById(chk);
lbl = document.getElementById(lbl);
if (chk.checked) {
if (cmb.get_value() != null && cmb.get_value() != "" && cmb.get_selectedIndex() >= 0) {
debugger;
return true;
}
else {
lbl.style.display = '';
return false;
}
}
else {
lbl.style.display = 'none';
return true;
}
}
aspx
<telerik:GridTemplateColumn>
<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
<telerik:RadComboBox ID="RadComboBox1" runat="server">
<Items>
</Items>
</telerik:RadComboBox>
<asp:Label ID="Label1" runat="server" ForeColor="Red" Text="your messege" Style="display: none;"></asp:Label>
</EditItemTemplate>
</telerik:GridTemplateColumn>
aspx.cs
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem item = e.Item as GridEditableItem;
CheckBox CheckBox1 = item.FindControl("CheckBox1") as CheckBox;
Label Label1 = item.FindControl("Label1") as Label;
RadComboBox RadComboBox1 = item.FindControl("RadComboBox1") as RadComboBox;
(item.FindControl("UpdateButton") as LinkButton).Attributes.Add("onclick", "return ValidateValidation('" + RadComboBox1.ClientID + "','" + CheckBox1.ClientID + "','" + Label1.ClientID + "');");
}
}
相关文章:
- Rad网格编辑模式通过选中复选框时的java脚本启用禁用所需的字段验证器
- 启用使用java脚本代码在web浏览器中运行的脚本
- 如何根据条件启用或禁用脚本
- 等到所有脚本都完成,然后再启用按钮
- 使用 PhoneGap 中的脚本启用全屏
- 为 .mht 文件启用脚本
- 在 Visual Studio 11 中使用 Chrome 启用脚本调试
- 捆绑和缩小 - 启用脚本不起作用时
- CKEDITOR - 启用插入 Java 脚本代码
- 疯狂需要启用跨站点脚本
- 如何检测IE'脚本化窗口'安全设置已启用/禁用
- 选项启用了内容脚本Chrome扩展,没有背景页
- Jquery-Mobile:如何在外部java脚本中使用name属性启用选择标签
- 如何调用某些JavaScript代码,只有当谷歌分析脚本启用
- 基于窗口宽度调整大小启用和禁用脚本
- 在primefaces页面中验证失败后,如何重新启用JQuery脚本?
- 脚本来启用/禁用输入元素
- 窗体禁用/启用按钮脚本不起作用
- 为selenium webdriver ruby绑定脚本使用javascript执行器启用禁用字段
- 启用不同类型的脚本标记?仅更改类型属性是不够的