Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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 如何为用户选择随机5 TR并显示?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何为用户选择随机5 TR并显示?

Javascript 如何为用户选择随机5 TR并显示?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如何随机选择5个问题并显示给用户 其他问题应隐藏在页面中,仅显示5个问题 我的示例代码,我想在用户加载页面时看到5个问题中的许多问题 <form> <table> <tbody> <tr id="Tr0"> <td>Question 1: </td> <td><input type="radio"

如何随机选择5个问题并显示给用户

其他问题应隐藏在页面中,仅显示5个问题

我的示例代码,我想在用户加载页面时看到5个问题中的许多问题

<form>
    <table>
        <tbody>
            <tr id="Tr0">
                <td>Question 1: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
            <tr id="Tr1">
                <td>Question 2: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
            <tr id="Tr2">
                <td>Question 3: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
            <tr id="Tr3">
                <td>Question 4: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
            <tr id="Tr4">
                <td>Question 5: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
            <tr id="Tr5">
                <td>Question 6: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
            <tr id="Tr6">
                <td>Question 7: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
            <tr id="Tr7">
                <td>Question 8: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
            <tr id="Tr8">
                <td>Question 9: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
            <tr id="Tr9">
                <td>Question 10: </td>
                <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
            </tr>
        </tbody>
    </table>
</form>

问题1:
问题2:
问题3:
问题4:
问题5:
问题6:
问题7:
问题8:
问题9:
问题10:
//隐藏所有TR
$(“tr”).hide();
//确定问题的数量
var trLength=$(“tr”).length;
//在中创建具有此数字的数组
var numberArray=[];

对于(i=0;i保存所有数据,然后随机获取一个,代码如下:

var x = $('form tr')
function getRandomInt (min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
min = 0;
max = x.length;
var random_number = getRandomInt(0, x.length);
//you can get the random element by
x[random_number]
希望这有助于使用生成随机数,并用于显示问题

$('table tr').hide();
对于(变量i=0;i<5;i++){
$('table tr')。筛选器(':hidden')
.eq(Math.floor(Math.random()*(10-i)))
.show();
}

问题1:
问题2:
问题3:
问题4:
问题5:
问题6:
问题7:
问题8:
问题9:
问题10:
  • 使用javascript随机生成器生成0到10之间的数字(例如x)
  • 之后,使用jquery隐藏id=“TrX”的元素
  • 存储已生成的号码
  • 循环直到我们得到5个不同的数字
  • 随机发生器代码:

    Math.floor((Math.random() * 10)
    
    大概是这样的:

    var tr=$("table tr").get().sort(function(){ 
      return Math.round(Math.random())-0.5;
    }).slice(0,4);
    $(tr).show();
    
    说明:

    <table id="tableQuestions">
        <tbody>
            <tr id="tr1"><td>Question 1</td></tr>
            <tr id="tr2"><td>Question 2</td></tr>
            <tr id="tr3"><td>Question 3</td></tr>
            <tr id="tr4"><td>Question 4</td></tr>
            <tr id="tr5"><td>Question 5</td></tr>
            <tr id="tr6"><td>Question 6</td></tr>
            <tr id="tr7"><td>Question 7</td></tr>
            <tr id="tr8"><td>Question 8</td></tr>
        </tbody>
    </table>
    
    1) 获取数组中的所有TR元素

    2) 然后对它们进行随机排序

    3) 选取n个元素

    4) 给他们看

    试试这个:

        <html>
        <head>
            <style type="text/css">
            tr {
                display: none;
            }
            </style>
            <script type="text/javascript">
            function selFive(){
                var idc=new Array(0,1,2,3,4,5,6,7,8,9);
                for (var i = 0; i <5; i++) {
                    sel=Math.random()*idc.length;
                    left=idc.slice(0,sel);
                    right=idc.slice(sel+1,idc.length);
                    idc=left.concat(right);
                };
                for (var i = idc.length - 1; i >= 0; i--) {
                    document.getElementById('Tr'+idc[i]).style.display='table-row';
                };
            }
            </script>
        </head>
        <body onload="selFive()">
            <form>
                <table>
                    <tbody>
                        <tr id="Tr0">
                            <td>Question 1: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                        <tr id="Tr1">
                            <td>Question 2: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                        <tr id="Tr2">
                            <td>Question 3: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                        <tr id="Tr3">
                            <td>Question 4: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                        <tr id="Tr4">
                            <td>Question 5: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                        <tr id="Tr5">
                            <td>Question 6: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                        <tr id="Tr6">
                            <td>Question 7: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                        <tr id="Tr7">
                            <td>Question 8: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                        <tr id="Tr8">
                            <td>Question 9: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                        <tr id="Tr9">
                            <td>Question 10: </td>
                            <td><input type="radio" value="True" /><input type="radio" value="False" /></td>
                        </tr>
                    </tbody>
                </table>
            </form>
        </body>
    </html>
    
    
    tr{
    显示:无;
    }
    函数selFive(){
    var idc=新阵列(0,1,2,3,4,5,6,7,8,9);
    对于(变量i=0;i=0;i--){
    document.getElementById('Tr'+idc[i]).style.display='table-row';
    };
    }
    问题1:
    问题2:
    问题3:
    问题4:
    问题5:
    问题6:
    问题7:
    问题8:
    问题9:
    问题10:
    
    看看下面的代码示例:

    HTML:

    <table id="tableQuestions">
        <tbody>
            <tr id="tr1"><td>Question 1</td></tr>
            <tr id="tr2"><td>Question 2</td></tr>
            <tr id="tr3"><td>Question 3</td></tr>
            <tr id="tr4"><td>Question 4</td></tr>
            <tr id="tr5"><td>Question 5</td></tr>
            <tr id="tr6"><td>Question 6</td></tr>
            <tr id="tr7"><td>Question 7</td></tr>
            <tr id="tr8"><td>Question 8</td></tr>
        </tbody>
    </table>
    
    
    问题1
    问题2
    问题3
    问题4
    问题5
    问题6
    问题7
    问题8
    
    JQuery

    var generatedNumber;
    
    
    $(document).ready(function() {
        $('#tableQuestions tr').each(function () {
            $(this).css('display','none');
        });
    
        generatedNumber = new Array();
    
        for (var i = 1; i <= 5; i++) {
            var n = getRandomArbitrary();
            alert('#tr' + parseInt(n).toString());
            $('#tr' + parseInt(n).toString()).css('display', '');
        }
    });
    
    function getRandomArbitrary() {
        var min = 1;
        var max = 8;
        var num = parseInt(Math.random() * (max - min) + min);
        if (generatedNumber.indexOf(num) > 0) {
            getRandomArbitrary(min, max);
        }
    
        return num ;
    }
    
    var生成数;
    $(文档).ready(函数(){
    $('#tableQuestions tr')。每个(函数(){
    $(this.css('display','none');
    });
    generatedNumber=新数组();
    对于(变量i=1;i 0){
    获取随机数(最小值、最大值);
    }
    返回num;
    }
    
    尝试以下操作:使用
    Math.random
    获取随机行数并使用索引隐藏

    $(function(){
        $('input[value="Shuffle"]').click(function(){
            $('table tr').show();
    
           var count = 0;
           var array = [];
           while(count<5)
           { var index = parseInt(Math.random(100)*10);
    
               if(array.indexOf(index)<0)
               {
                   array.push(index);
                   $('table tr:eq('+index+')').hide();
                   count++;
               }        
    
           }
        });
    });
    
    $(函数(){
    $('input[value=“Shuffle”]”)。单击(函数(){
    $('table tr').show();
    var计数=0;
    var数组=[];
    
    虽然(你试过你这边的东西吗?你试过什么?你到底有什么问题?这个平台不是用来为你写代码的。@Arman:看看我的答案。希望它能帮助你解决你的问题。谢谢大家回答‘这不是重复的随机数吗?同一个问题你不能显示两次。哟你可以添加一个条件,将随机数保存在另一个数组中,并检查是否有人问过这个问题