使用 Jquery 检查 asp.net checkboxlist
Posted
技术标签:
【中文标题】使用 Jquery 检查 asp.net checkboxlist【英文标题】:Check asp.net checkboxlist using Jquery 【发布时间】:2018-08-01 03:21:48 【问题描述】:我正在使用 [webmethod] 从 sql-server 检索字符串列表。代码是:
[WebMethod]
public void SelectActivityCheckboxItems(int SystemID)
//Configure a connection to SystemRegister database
var cs = ConfigurationManager.ConnectionStrings["SYSTEMREGISTERConnectionString"].ConnectionString;
List<string> SelectedActivity = new List<string>();
//Get the related data for update activty checkbox
using (var con = new SqlConnection(cs))
con.Open();
var cmd = new SqlCommand("setModalSystemUpdate", con) CommandType = CommandType.StoredProcedure ;
cmd.Parameters.AddWithValue("@SYSTEMID", SystemID);
var dr = cmd.ExecuteReader();
while (dr.Read())
SelectedActivity.Add(dr[0].ToString());
con.Close();
var js = new javascriptSerializer();
Context.Response.Write(js.Serialize(SelectedActivity));
这里是复选框列表:
<div class="scroll">
<fieldset class="form-group">
<label class="col-sm-3">Aktivitet:</label>
<div>
<asp:CheckBoxList CssClass="paddingright" ID="CheckBoxListActivityUpdate" runat="server"
DataSourceID="SqlDataSource6"
DataValueField="ACTIVITYNAME"
RepeatColumns="2">
</asp:CheckBoxList>
</div>
</fieldset>
</div>
在我的 aspx 中,我有这个 Jquery 来“检查”列表中和复选框列表中存在的项目。
$.ajax(
type: "POST",
url: "SystemService.asmx/SelectActivityCheckboxItems",
dataType: "json",
data: 'Value: "' + $("#<%=rowID.ClientID%>").value + '" ',
contentType: "application/json",
success: function (data)
$.each(function ()
$("#CheckBoxListActivityUpdate").prop('checked', true);
)
);
不幸的是,这不起作用,还有其他解决方案吗?
【问题讨论】:
哪部分不起作用? 没有选中/选中复选框项(数据库中有数据) 你调试了吗?你在res
得到什么? $("#CheckBoxListActivityUpdate")
是否返回一个元素?
我修改并删除了 res 和任何其他参数。我的网络服务返回:["Attributes":"Keys":[],"Count":0,"CssStyle":"Keys":[],"Count":0,"Value":null, "已启用":true,"已选择":false,"Text":"Football","Value":"Football"]
我有完全相同的问题(我只是使用 asp c#):***.com/questions/15044340/…
【参考方案1】:
$.each(function ()
没有输入是没有意义的。那有什么意义呢?它不会做任何事情,因为它没有任何东西可以循环,所以它里面的代码永远不会执行。您可以将其删除。
如果复选框是<asp:Checkbox
服务器控件,您可能还需要使用$("#<%=CheckBoxListActivityUpdate.ClientID%>")
。
当然,如果您需要实际使用响应数据,并使用它来控制是否选中该框,那么您必须自己编写,或者澄清问题以准确说明应该做什么根据响应数据发生(指定数据中相关的属性并显示目标 html)。
顺便说一句,不要手动构建你的数据对象,而是创建一个合适的对象并让浏览器为你字符串化它,这样你就可以避免任何潜在的语法错误:
data: JSON.stringify( "Value": $("#<%=rowID.ClientID%>").value )
【讨论】:
是的,我正在使用 'success: function (data) $("#<%=CheckBoxListActivityUpdate.ClientID%>").prop('Selected', true);
以上是关于使用 Jquery 检查 asp.net checkboxlist的主要内容,如果未能解决你的问题,请参考以下文章
使用 javascript/jquery 检测 Asp.Net 表单是不是有效
Jquery Datatable在asp.net核心中使用异步任务方法获取数据
ASP.Net MVC Recaptcha Jquery Ajax 问题