【问题标题】:Asp.net listbox used client sideAsp.net 列表框使用客户端
【发布时间】:2013-05-02 15:37:32
【问题描述】:

我的页面 lbox1 和 lbox2 中有两个 asp.net 列表框控件 lbox1 后面的代码填写。 现在用户可以在 lbox1 上选择项目,然后通过单击按钮将所选项目进入 lbox2。 我使用 javascript 执行此操作,因为我不想在每次点击时回发。

这是javascript函数:

function Updatelist() {
            var sel = document.getElementById("lbox1");
            var listLength = sel.options.length;
            for (var i = 0; i < listLength; i++) {
                if (sel.options[i].selected)
                    document.getElementById("lbox2").add(new Option(sel.options[i].value));
            } 
        }

现在我需要使用另一个按钮在服务器端发送 lbox2 的内容。 我认为使用带有 onserverclick 事件的简单 asp 按钮不起作用,因为服务器端 lbox2 永远不会被填充!

我该怎么办?

【问题讨论】:

  • 您可以对您的 pageMethods 进行 ajax 调用..

标签: javascript jquery asp.net


【解决方案1】:

您需要添加一个按钮和 JS 函数,将值从 lbox1 控件复制到 &lt;asp:HiddenField&gt; 控件中。回发后,所选值将在隐藏控件的 Value 属性中可用。

【讨论】:

    【解决方案2】:

    为避免回发,请使用 html 下拉菜单...您的代码答案如下:-

    函数更新列表(){ var sel = document.getElementById("lbox1");

            var listLength = sel.options.length;
    
            var opt = document.createElement('option');
    
            document.getElementById("lbox2").options.add(opt);            
             for (var i = 0; i < listLength; i++) {
                 if (sel.options[i].selected) {
                     document.getElementById("lbox2").options.add(opt);
                     opt.text = sel.options[i].value;
                     opt.value = sel.options[i].value;
                 }
            } 
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多