javascript - 如何减少这个脚本呢?

标签 javascript jquery

我想在这个脚本中使用循环,但我不知道该怎么做。

这是我尝试过的:

$('#choice').change(function(){

        if ($('#choice').val()=='')

        {
             $('#topic1').hide();
             $('#topic2').hide();
             $('#topic3').hide();
             $('#topic4').hide();
             $('#topic5').hide();
             $('#topic6').hide();
             $('#topic7').hide();
        }if ($('#choice').val()=='1')
        {
             $('#topic1').show();
             $('#topic2').hide();
             $('#topic3').hide();
             $('#topic4').hide();
             $('#topic5').hide();
             $('#topic6').hide();
             $('#topic7').hide();
        }
        if ($('#choice').val()=='2')
        {
             $('#topic1').show();
             $('#topic2').show();
             $('#topic3').hide();
             $('#topic4').hide();
             $('#topic5').hide();
             $('#topic6').hide();
             $('#topic7').hide();
        }
        if ($('#choice').val()=='3')
        {
             $('#topic1').show();
             $('#topic2').show();
             $('#topic3').show();
             $('#topic4').hide();
             $('#topic5').hide();
             $('#topic6').hide();
             $('#topic7').hide();
        }
        if ($('#choice').val()=='4')
        {
             $('#topic1').show();
             $('#topic2').show();
             $('#topic3').show();
             $('#topic4').show();
             $('#topic5').hide();
             $('#topic6').hide();
             $('#topic7').hide();
        }
        if ($('#choice').val()=='5')
        {
             $('#topic1').show();

             $('#topic2').show();

             $('#topic3').show();

             $('#topic4').show();

             $('#topic5').show();

             $('#topic6').hide();

             $('#topic7').hide();
        }
        if ($('#choice').val()=='6')

        {
             $('#topic1').show();

             $('#topic2').show();

             $('#topic3').show();

             $('#topic4').show();

             $('#topic5').show();

             $('#topic6').show();

             $('#topic7').hide();
        }
          if ($('#choice').val()=='7')
        {
             $('#topic1').show();

             $('#topic2').show();

             $('#topic3').show();

             $('#topic4').show();

             $('#topic5').show();

             $('#topic6').show();

             $('#topic7').show();
        }                        
    });
    $('#choice').change();
    });        

请帮助我。

最佳答案

$('#choice').change(function(){
        $('[id^="topic"]').hide();
        var topic = $('#choice').val();
        if (topic!='') {
            $('#topic'+topic).show();
        };
});        
$('#choice').change();

关于javascript - 如何减少这个脚本呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14252469/

相关文章:

javascript - 不明白 axios 的异步等待调用

php - Ajax responseText 和 echo 损坏,返回头文件内容

javascript - 鼠标悬停时滚动文本数据

javascript - 如何创建圆形内容 slider ?

javascript - jquery追加一个没有html标记rails的类

javascript - 使用 innerHTML 时换行

javascript - 自昨天以来,我用于检索上次推文日期的代码无法正常工作

jquery - 从字符串 jQuery 中提取前 n 个单词,jQuery 中的 WordPress 样式摘录(x 单词数)

javascript - 将元素内容作为纯文本获取所有后代

具有在新选项卡/窗口中打开的能力的 Javascript 链接