在jquery中获取asp复选框列表中所选复选框的值

19 浏览
0 Comments

在jquery中获取asp复选框列表中所选复选框的值

我正在尝试获取checkboxlist的选定值(或值)。我的问题是,我在C#中绑定了checkboxlist,但它没有像硬编码的一样呈现出“Value”属性。我的checkboxlist看起来像这样:

所以当我尝试使用jQuery并执行以下操作时,它只返回“on”而不是“myID”。我错过了什么吗?我认为这就是DataValueField的作用?

这是我正在使用的js:

$("checkboxlist选择器").change(function() {

$(this).find(":checked").each(function() { alert($(this).val()); });

});

谢谢。

0
0 Comments

问题出现的原因:DataValueField是服务器端属性,不会在HTML中呈现,所以无法使用jQuery或其他客户端代码获取其值。

解决方法:可以通过以下方式获取选中的复选框的值:

1. 使用服务器端代码获取选中的复选框的值:

foreach (ListItem item in checkboxlist.Items)

{

if (item.Selected)

{

string value = item.Value;

// 处理选中的值

}

}

2. 使用JavaScript获取选中的复选框的值:

var selectedValues = [];

$("#<%= checkboxlist.ClientID %> input[type='checkbox']:checked").each(function () {

selectedValues.push($(this).val());

});

// 处理选中的值

通过以上方法,可以获取选中的复选框的值,并进行相应的处理。如果需要更多关于DataValueField属性的信息,可以参考相关问题的链接。

0
0 Comments

问题出现的原因:在ASP.NET的CheckboxList控件中,无法直接使用jQuery获取选中的复选框的值。

解决方法:通过使用jQuery选择器和each()方法,遍历CheckboxList中所有选中的复选框,并获取其值。

具体代码如下:

$("#<%=cblStuff.ClientID%> input[type=checkbox]:checked").each(function(){
    var val = $(this).attr("value");
});

上述代码中,`<%=cblStuff.ClientID%>`用于获取CheckboxList控件的唯一客户端ID。然后使用jQuery选择器`input[type=checkbox]:checked`选择所有选中的复选框。使用each()方法遍历所有选中的复选框,并通过attr("value")方法获取复选框的值。

注意:默认情况下,Checkbox控件没有value属性,但是CheckboxList可能有。如果Checkbox没有value属性,可以手动添加value属性。

0
0 Comments

问题的原因是在ASP的checkboxlist中,无法直接通过HTML渲染出"DataValueField"属性。解决方法是使用jQuery的attr()方法来获取属性值。具体的解决方法如下:

$("checkboxlist selector").change(function() {
    $(this).find(":checked").each(function() {
        alert($(this).attr('DataValueField')); 
    });
});

这段代码通过checkboxlist选择器来绑定change事件。当选择框的状态发生改变时,会遍历选中的checkbox,然后通过attr()方法获取每个选中checkbox的"DataValueField"属性值,并弹出提示框显示该值。

需要注意的是,由于"DataValueField"属性无法通过HTML渲染出来,所以在使用时需要确保该属性已经正确设置。

0