我在网页中使用了checkboxlist,如下所示:
<asp:CheckBoxList ID="chklstTelpas" runat="server" RepeatDirection="Horizontal"
AutoPostBack="True" Width="594px"
OnSelectedIndexChanged="chklstTelpas_SelectedIndexChanged">
<asp:ListItem Text="TELPAS Speaking" Value="1"></asp:ListItem>
<asp:ListItem Text="TELPAS Listening" Value="2"></asp:ListItem>
<asp:ListItem Text="TELPAS Reading" Value="3"></asp:ListItem>
<asp:ListItem Text="TELPAS Writing" Value="4"></asp:ListItem>
</asp:CheckBoxList>
现在,如果我检查一个列表项,我想为该特定选定项应用一些背景颜色。如果我取消选中,我希望背景保持与最初显示的颜色相同,或者我想删除背景颜色。
答案 0 :(得分:6)
你可以做这样的事情
for (int i = 0; i < chklstTelpas.Items.Count; i++)
{
if (chklstTelpas.Items[i].Selected)
{
chklstTelpas.Items[i].Attributes.Add("style", "background-color: red;");
}
else
{
chklstTelpas.Items[i].Attributes.Add("style", "background-color: white;");
}
}
这将允许您为几个选项着色。如果你使用SelectedIndex,它只会给你最低的索引。
答案 1 :(得分:3)
protected void chklstTelpas_SelectedIndexChanged(object sender, EventArgs e)
{
Control chk = ((Control)sender).FindControl("chk");
CheckBoxList ch=(CheckBoxList) chk;
if (ch.Items[ch.SelectedIndex].Selected)
ch.Items[ch.SelectedIndex].Attributes.Add("Style", "background-color: red;");
}
希望这会有所帮助!!!
答案 2 :(得分:1)
您可以SelectedIndexChanged
上的DropDown
活动。
chklstTelpas.Items[chklstTelpas.SelectedIndex].Attributes.Add("style", "background-color:blue;");
答案 3 :(得分:1)
我依旧记得可以通过循环项目来完成,并为已设置属性的已检查项目
CheckBoxItem.Attributes.Add("Style", "color: red;")
答案 4 :(得分:1)
<asp:CheckBoxList ID="chklstTelpas" runat="server" RepeatDirection="Horizontal"
AutoPostBack="True" Width="594px"
OnSelectedIndexChanged="chklstTelpas_SelectedIndexChanged" CssClass="multiplus">
<asp:ListItem Text="TELPAS Speaking" Value="1"></asp:ListItem>
<asp:ListItem Text="TELPAS Listening" Value="2"></asp:ListItem>
<asp:ListItem Text="TELPAS Reading" Value="3"></asp:ListItem>
<asp:ListItem Text="TELPAS Writing" Value="4"></asp:ListItem>
将css类添加到checkboxlist,然后将jquery代码写为:
var selectedBox = 0;
var lastChecked = null;
$(document).ready(function () {
$(".multiplus input:checkbox").click(
function () {
if ($(this).attr("checked")) {
$(lastChecked).attr("checked", false).parent().css({ "background-color": "#FFF", "font-weight": "normal" });
lastChecked = this;
}
if ($(this).attr("checked")) {
$(this).parent().css({ "background-color": "#FFC", "font-weight": "bold" });
selectedBox++;
} else {
$(this).parent().css({ "background-color": "#FFF", "font-weight": "normal" });
selectedBox--;
}
}
);
});