0

我需要使用文本框搜索项目。如果找到我们需要在选中列表框中突出显示该项目。我尝试如下

clbItems.Items[foundIndex].Attributes.Add("style", "background-color:#BBBBBB; color: white;");

它通过删除更新面板来工作。

我有以下代码

 for (int itemcount = 0; itemcount < (p as CheckBoxList).Items.Count; itemcount++)
                                        {
                                            if ((p as CheckBoxList).Items[itemcount].Text.ToUpper().StartsWith(txtClientSearch.Text.ToUpper()))
                                            {
                                                ListItem lst1 = new ListItem((p as CheckBoxList).Items[itemcount].Text);
                                                (p as CheckBoxList).Items.RemoveAt(itemcount);
                                                (p as CheckBoxList).Items.Insert(0, lst1);
                                                (p as CheckBoxList).Items[0].Attributes.Add("style", "background-color:yellow;color:Red");
                                            }

                                        }

任何人都可以建议我在 Javascript 中实现这一点的方法。

谢谢,拉克什。

4

1 回答 1

0

这就是你如何从后面的代码中做到这一点

  CheckBoxList1.Attributes.Add("onclick", "checkBoxList1OnCheck(this);");

如果您想使用 javascripts,请参阅以下内容:

<form id="form1" runat="server">
 <asp:CheckBoxList id="CheckBoxList1" onclick="checkBoxList1OnCheck(this);" runat="server">
  <asp:listitem value="1">Item 1</asp:listitem>
  <asp:listitem value="2">Item 2</asp:listitem>
  <asp:listitem value="3">Item 3</asp:listitem>
 </asp:CheckBoxList>
</form>

<script type="text/javascript">
function checkBoxList1OnCheck(listControlRef)
{
 var inputItemArray = listControlRef.getElementsByTagName('input');

 for (var i=0; i<inputItemArray.length; i++)
 {
  var inputItem = inputItemArray[i];

  if ( inputItem.checked )
  {
   inputItem.parentElement.style.backgroundColor = 'Red';
  }
  else
  {
   inputItem.parentElement.style.backgroundColor = 'White';
  }
 }
}
</script>
于 2012-08-30T05:53:04.710 回答