在我的cs中,动态的生成label,result是我方法返回的字符串,对于listbox用的是服务器控件,
 for (int i = 0; i < mains.Length; i++)
   {
    result = "<a href='#' onclick='javascript:addItem('" + (i + 1) + ")'>
   <asp:Label ID='lb" + (i + 1).ToString() + "' runat='server'>" + tou + mains[i] + "</asp:Label></a>";
   }                
};
在我点击label的时候需要调用aspx的javascript代码
 function addItem(e) {
             var value = document.getElementById('lb' + e).innerText;
             for (var i = 0; i < document.getElementById(e).options.length; i++) {
                 if (document.getElementById('list').options[i].innerText == value) {
                     return;
                 }
             }
             var option = document.createElement('OPTION');
             option.Text = value;
             document.getElementById('list').add(option);
         }
主要的功能就是点击了一个label,然后让他添加给listbox,应该怎么解决,并且是页面无刷新的,还要把点击过的label背景改个颜色,记录这个label被点击过请高手们指点,如内容不明确,提出来,谢了

解决方案 »

  1.   

    楼主可以使用JQuery
          $($("#lb").click(function(
            $("#listbox").text=$(this).text;
            ))
        )
        这样添加进去
    $("#lb").toggle(
      function () {
        $(this).addClass("selected");
      },
      function () {
        $(this).removeClass("selected");
      }
    ); 这样修改点击过后的样式
      

  2.   

    老大,咱能解释一下么?我没用过传说中的JQuery
      

  3.   

    function add(v)
    {
    var $=document.getElementById;
    $("listbox1").innerText+=$("v").innerText;
    $("a").style.color='#fffccc';//.background=...
    }
    <span id="a" onclick="add('a')" >onclick</span>
      

  4.   

    可以在事件里面加入ScriptManager.RegisterClientScriptBlock(label, this.GetType(), "js", "Method()", true);
      

  5.   

    需要使用label吗?服务器控件动态添加
    使用span,设置span样式如addClass,span.setAttribute
      

  6.   


    老大能详细一点么?其实不用lable
      

  7.   

    可以在事件里面加入ScriptManager.RegisterClientScriptBlock(label, this.GetType(), "js", "Method()", true);