使用javascript / jQuery在文本输入中生成随机数

时间:2013-12-08 13:54:23

标签: javascript jquery

我正在尝试在文本字段中生成随机数。不幸的是ID不是一个选项,所以我使用类作为标识符。我已经尝试了很多东西但似乎无法完成这项工作。

用于输入的HTML:

<div class="productAttributeRow productAttributeConfigurableEntryNumbersOnlyText">
    <div class="productAttributeLabel">
        <label>
            <span class="name">
                Hidden:   
            </span>
        </label>
    </div>
    <div class="productAttributeValue">
        <input type="text" class="Field validation" value="" size="5"  />
    </div>
</div>

我试过了:

var randomnumber = Math.floor(Math.random() * 11)
$('#BuyThis').click(function () {
    $(".productAttributeConfigurableEntryNumbersOnlyText.productAttributeValue input[type="
    text "]").val(randomnumber);
});

在上面的场景中,#BuyThis是一个按钮:

<a id="BuyThis" type="button" class="btn btn-small btn-warning" href="#product-options" data-toggle="modal">

但是,点击不需要这样做,我只想在提交表单之前在字段中输入一个随机数。

没有点击也尝试了:

$(function(){
   var randomnumber=Math.floor(Math.random()*11)    
   $('.productAttributeConfigurableEntryNumbersOnlyText.productAttributeValue input[type="text"]').val( randomnumber );      

})

另一次尝试:

function randomNumber(m, n) {
    m = parseInt(m);
    n = parseInt(n);
    randomnumber = Math.floor(Math.random() * (n - m + 1)) + m;
    ('.productAttributeConfigurableEntryNumbersOnlyText.productAttributeValue input[type="text"]').value = randomnumber;
});

尝试了各种其他功能和组合无济于事。

3 个答案:

答案 0 :(得分:3)

productAttributeValue的div位于productAttributeConfigurableEntryNumbersOnlyText内,因此在选择时应在它们之间添加空格:

$(function(){
   var randomnumber=Math.floor(Math.random()*11)    
   $('.productAttributeConfigurableEntryNumbersOnlyText .productAttributeValue input[type="text"]').val( randomnumber );      
});

是否有效:http://jsfiddle.net/3hhCx/

答案 1 :(得分:2)

$('.productAttributeConfigurableEntryNumbersOnlyText.productAttributeValue')

选择 .productAttributeConfigurableEntryNumbersOnlyText .productAttributeValue的元素。

您想要选择.productAttributeValue.productAttributeConfigurableEntryNumbersOnlyText的孩子的元素。

为此,请在它们之间添加空格:

$('.productAttributeConfigurableEntryNumbersOnlyText .productAttributeValue')

要插入随机值,请使用:

var randomnumber=Math.floor(Math.random()*11)    
$('.productAttributeConfigurableEntryNumbersOnlyText .productAttributeValue input[type="text"]').val( randomnumber ); 

答案 2 :(得分:1)

试试这个...... HTML

<div class="productAttributeRow productAttributeConfigurableEntryNumbersOnlyText">
    <div class="productAttributeLabel">
        <label>
            <span class="name">
                Hidden:   
            </span>
        </label>
    </div>
    <div class="productAttributeValue">
        <input type="text" class="Field validation" value="" size="5"  />
    </div>

的javascript:

var randomnumber=Math.floor(Math.random()*11)    

$('#BuyThis').click(function(){    
  $(".productAttributeConfigurableEntryNumbersOnlyText .productAttributeValue input:text").val( randomnumber ); 
});

尝试Demo