0

我想使用一个下拉菜单来允许选择一组三个文本框,其中每个文本框的数字集应该包含一组唯一的数字。目前,下拉菜单确实创建了所需数量的文本框集,例如,选择 5 会生成一组 5 个填充有随机数的文本框。问题是它们都是相同的随机数集。

我想要下拉菜单中的选定数字会生成所需的文本框集,然后单击“生成数字”按钮将用随机数填充文本框集,其中每个集都是唯一的。这可以用 Javascript、JQuery 完成还是我需要使用其他东西?

到目前为止,这是我的代码。非常感谢您的帮助。

<?php
//generate set of random numbers from 1 to 10000
function RandomNumbers($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}
$num = (RandomNumbers(1,10000,10000));
$random1 = $num[0];
$random2 = $num[1];
$random3 = $num[2];
?>

<html>
<head>
<script type='text/javascript' src='js/jquery.js'></script>
</head>
<script type="text/javascript">
//this is the code which I am not sure how to develop >>>
    $(document).ready(function(){
        $counter = 0; // initialize 0 for limiting textboxes
        $('#dropdownadd').change(function(){
            $('#dropdowndiv').html(""); // when the dropdown change set the div to empty
            $loopcount = $(this).val(); // get the selected value
            for (var i = 1; i <= $loopcount; i++)
            {
                //this adds textboxes using dropdown menu but inserts the same number set into each set of textboxes
                $('#dropdowndiv').append('<div><form>Number Set #'+i+'<input type="text" name="num1" class="textbox1" value="<?php echo $random1; ?>" /><input type="text" name="2" class="textbox2" value="<?php echo $random2; ?>" /><input type="text" name="3" class="textbox3" value="<?php echo $random3; ?>" /></div>'); 
            }
        });
    });
</script>


<div id="dropdowndiv">
<!-- this is where textboxes will appear -->
</div>
<div class="choices">
    <span>Adding Textboxes using Dropdown Menu</span>
    <select id="dropdownadd">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="10">10</option>
        <option value="20">20</option>
    </select>
</div>
</html>

<HTML>
<form name="form" method="post">
<input type="text" name="num1" id="var1" value="<?php echo $random1; ?>" >
<input type="text" name="num2" id="var1" value="<?php echo $random2; ?>" >
<input type="text" name="num3" id="var1" value="<?php echo $random3; ?>" >
<br>
<input type="submit" name="submit" value="Generate Numbers">
</form>
</HTML> 
4

3 回答 3

1

试试这个 http://jsfiddle.net/fedmich/F79nf/

Math.random Math.round() for loop 和 jquery 追加

于 2012-07-09T04:30:08.350 回答
1

这是我想出的解决方案

Fedmich 采用了相同的方法,我只是使用了您提供的代码并修改了需要修改的部分,而无需修改的部分(我什至刚刚说了什么)就不管了。

祝你好运。

于 2012-07-09T04:44:32.927 回答
0

这是您完整的解决方案,它根据下拉选项值的选择显示没有带有三个文本框的表单集,当我们单击每个表单附带的名为“生成按钮”的按钮时,每个表单都会为每个输入集生成唯一值。

在 Codebins 上尝试这个解决方案:http: //codebins.com/codes/home/4ldqpb7

于 2012-07-09T10:48:12.017 回答