gpt4 book ai didi

jquery - ASP.net 复选框列表未获取选中值

转载 作者:行者123 更新时间:2023-12-01 06:05:52 25 4
gpt4 key购买 nike

我已经检查了所有答案,但我的问题似乎有所不同 - 我有两组复选框列表。启动时,我禁用第二组中的所有复选框。

rotected void exchList_OnDataBound(object sender, EventArgs e)
{
for (int i = 0; i < exchList.Items.Count; i++)
{
exchList.Items[i].Attributes.Add("onclick", "gridCallback();");
exchList.Items[i].Enabled = false;
}//end for
}//end exchList_OnDataBound()

选中第一组中的一个框将启用另一组中的框。这是通过 jquery 完成的。

$('#<%= exchList.ClientID %> input:checkbox').each(function() {
$label = $(this).parent().children("label").text();
i = 0;
while(i < $jsonData.xxx.length)
{
if ($(this).attr('disabled'))
{
$(this).removeAttr('disabled');
$(this).attr('checked', 'checked');
}//end if
else
{
$(this).removeAttr('checked');
$(this).attr('disabled', 'disabled');
}//end else
i++;
}//end while
});

虽然要选中复选框,但在回调期间不会检测到它。

protected void productGrid_OnCustomCallback(object sender,
DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e)
{
String markets = "", exchs = "";
int i;
for (i = 0; i < marketList.Items.Count; i++)
{
if (marketList.Items[i].Selected)
System.Diagnostics.Debug.WriteLine(marketList.Items[i].Text);
}//end for

for (i = 0; i < exchList.Items.Count; i++)
{
System.Diagnostics.Debug.WriteLine(exchList.Items[i].Text + " " + exchList.Items[i].Enabled);
}//end for
}//end productGrid_OnCustomCallback()

即使明确选中了复选框,它们也始终不会被选中。查看 firebug 显示,因为我禁用和启用了列表项,所以复选框被 DIV 封装,这可能会导致问题。我在没有禁用/启用的情况下对其进行了测试,并且 HTML 中的复选框周围没有 DIV,现在它可以正常工作。如何从列表项中获取 DIV 内的复选框选中值?

最佳答案

如果我没记错的话,这是 ASP.net 控件的某种错误,如果在页面加载时禁用复选框,它总是返回为未选中状态,即使您启用它并在客户端检查它。
解决此问题的方法是发送从服务器端启用的复选框,并在必要时在客户端加载时禁用它们。

恕我直言,当然,最好的解决方案是根本不使用 ASP.net 控件,因为我发现它们过于复杂且过重。但是嘿-这只是我...

关于jquery - ASP.net 复选框列表未获取选中值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6409691/

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