gpt4 book ai didi

javascript - Rad-grid 编辑模式启用通过 JavaScript 在复选框选择上禁用所需的字段验证

转载 作者:行者123 更新时间:2023-11-28 02:43:59 24 4
gpt4 key购买 nike

我在 RadGrid 中有一个复选框、下拉列表和必填字段验证器。我想在选择复选框时禁用下拉列表所需的字段验证器。现在,下面的 Java 脚本代码确实在编辑模式下启用和禁用所需的字段验证器。

但是当我单击 rad 网格编辑模式更新按钮(复选框未选中且下拉框所选值也为空(“”)时,它会等待一小会儿(可能会回发)并再次触发所需的字段验证器.

知道为什么它会这样吗?帮忙欣赏一下。

我从下面的链接获得了控制访问部分。 Accessing Telerik RadGrid edit mode from javascript

我的 Rad 网格标记:

 <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 + "');");

}
}

关于javascript - Rad-grid 编辑模式启用通过 JavaScript 在复选框选择上禁用所需的字段验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12203491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com