Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 取消选择选择列表_Javascript_Jquery_Html - Fatal编程技术网

Javascript 取消选择选择列表

Javascript 取消选择选择列表,javascript,jquery,html,Javascript,Jquery,Html,我有两份名单,一份是球队名单,另一份是球员名单。球员名单根据球队的选择而变化。如果团队列表中的团队被重新选择,我想让在玩家列表中选择的任何玩家都被取消选择。我有: $("#playerList select option").prop("selected", false); 这将取消选择播放器,但它仅在我将鼠标移到列表上时执行。如何立即显示此更改?尝试以下操作: $( '#TeamList' ).on( 'change', function () {

我有两份名单,一份是球队名单,另一份是球员名单。球员名单根据球队的选择而变化。如果团队列表中的团队被重新选择,我想让在玩家列表中选择的任何玩家都被取消选择。我有:

 $("#playerList select option").prop("selected", false);
这将取消选择播放器,但它仅在我将鼠标移到列表上时执行。如何立即显示此更改?

尝试以下操作:

$( '#TeamList' ).on( 'change', function ()
                {

                    if ( condition1==true )
                    {

                        $( "#playerList option[value='1']" ).remove();
                        $( "#playerList option[value='2']" ).remove();

    //.................... and so on (Remove the items you dont need and add new items)
                        $( "#playerList" ).append( '<option value="3" style="background-color:#A9F5A9">Player new1</option>' );
                        $( "#playerList " ).append( '<option value="4" style="background-color:#A9F5A9">Player new2</option>' );


                    }
                    else
                    {

                        $( "#playerList option[value='3']" ).remove(); //Remove the items
                        $( "#playerList option[value='4']" ).remove();

                        $( "#playerList " ).append( '<option value="1">Player1</option>' );
                        $( "#playerList " ).append( '<option value="2">player2</option>' );

                    }
                } );
$('TeamList')。在('change',function()上
{
如果(条件1==true)
{
$(“#播放列表选项[value='1']”)。删除();
$(“#播放列表选项[value='2']”)。删除();
//以此类推(删除不需要的项目并添加新项目)
$(“#playerList”).append('playernew1');
$(“#playerList”).append('playernew2');
}
其他的
{
$(“#播放列表选项[value='3']”)。删除();//删除项目
$(“#播放列表选项[value='4']”)。删除();
$(“#playerList”).append('Player1');
$(“#playerList”).append('player2');
}
} );

您可以发布一些代码,或者发布一个JSFIDLE,其中包含重现此问题所需的最少代码吗?有时您需要使用技巧来强制重画。也许可以尝试设置和取消设置一些CSS属性。另外,您是否有默认设置?如果是这样,最好将列表设置为您的默认值,例如
“选择一个…”
选项。通过这种方式,您可以使用
.val()
$(“#playerList select”)显式设置
select的值。val(“”)
应该首先起作用。正如@Dogoku在上面的回答中指出的,有一个更简单的解决方案。其次,不推荐使用
live()
方法;改用()上的