0

我在 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');}";

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

4

3 回答 3

3

试用

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

在这样的 html javascript 中

function changeindex (obj) {
    var index = obj.selectedIndex;
    var select= document.getElementById('listbox2');
    select.selectedIndex = index;
}
于 2013-03-07T12:52:09.130 回答
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');
});
于 2013-03-07T13:13:58.633 回答
0

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

我添加了这 2 个 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()"

感谢您的所有快速响应及其工作方式我现在想要的方式:)

于 2013-03-07T13:31:14.793 回答