如何从列表框中选择

时间:2013-03-07 12:42:21

标签: c# javascript asp.net listbox selectedindex

我在asp.net上创建了一个网站,我有2个列表框:

lbxPlayer1 and lbxPlayer2

lbxPlayer1.Items.Add("bob");
lbxPlayer1.Items.Add("jack");
lbxPlayer1.Items.Add("sam");

lbxPlayer2.Items.Add("fred");
lbxPlayer2.Items.Add("brian");
lbxPlayer2.Items.Add("dave");

他们都填充了相同数量的值,我希望这样,当点击其中一个列表时,另一个列表将选择相同的索引。

我该怎么做?我假设代码将在lbxPlayer1_SelectedIndexChanged事件中?

所以当我点击“jack”时,我也希望“Brian”也被选中。

我现在意识到这不是想要在服务器端完成但是在客户端,所以我想要一些帮助使用javascript来做到这一点; 到目前为止,我一直在lbxPlayer1_SelectedIndexChanged事件中测试这段代码

lbxPlayer1.Attributes["onchange"] =  "function{alert('Hello');}";

上面的代码只是一个测试人员,但我甚至无法让它工作?

3 个答案:

答案 0 :(得分:3)

试试

lbxPlayer1.Attributes["onchange"] =  "changeindex(this) ";

在像这样的HTML javascript中

function changeindex (obj) {
    var index = obj.selectedIndex;
    var select= document.getElementById('listbox2');
    select.selectedIndex = index;
}

答案 1 :(得分:0)

Yu应该知道使用javascript的jQuery框架。这是一个框架

使用典型的javascript DOM元素

lbxPlayer1.Attributes["onchange"] =  "lbxPlayer1SelectedChange(this) "; //declaration of event
function lblPlayer1SelectedChange(element){
     document.getElementById("lbxPlayer2").selectedIndex = element.selectedIndex;
}

使用jQuery。声明事件和功能

$('.lbxPlayer1').change(function() {
    $('.lbxPlayer2 option')[this.selectedIndex].attr('selected','selected');
});

答案 2 :(得分:0)

好的家伙感谢您的回复,但是我无法让您的代码与我的项目一起工作(没有错误,没有发生任何事情)。 但是你的代码给了我一些想法和解决方案:

我添加了这两个javascript函数

<script>
    function ChangePlayer2Lbx() 
    {
        var player1 = document.getElementById("lbxPlayer1");
        var player1index = player1.selectedIndex;
        var player2 = document.getElementById("lbxPlayer2");
        player2.selectedIndex = player1.selectedIndex;
    }
    function ChangePlayer1Lbx() 
    {
        var player2 = document.getElementById("lbxPlayer2");
        var player2index = player2.selectedIndex;
        var player1 = document.getElementById("lbxPlayer1");
        player1.selectedIndex = player2.selectedIndex;
    }
</script>

我只是将其添加到每个列表框html属性中。

onClick="ChangePlayer2Lbx()"

感谢您的所有快速回复以及我现在想要的工作方式:)