JavaScript/JQuery变量需要更改.单击.删除旧号码添加新号码

JavaScript / JQuery variable need to change.. on click. Delete old number add new one

本文关键字:号码 添加 新号码 删除 单击 变量 JQuery JavaScript      更新时间:2023-09-26

基本上,我试图在单击按钮后将生成的随机数更改为另一个随机数。我也不知道如何取消选择我正在尝试如何使用jQuery在下面选择的表单。

var randomNum1 = Math.ceil(Math.random(20)*10000);
var randomNum2 = Math.ceil(Math.random(20)*10000);
var randomNum3 = Math.ceil(Math.random(20)*10000);
var randomNum4 = Math.ceil(Math.random(20)*10000);
$( "#race-again" ).click(function()
    {   
    $( ".one" ).css( { marginLeft: "0" });
    $( ".two" ).css({ marginLeft: "0" });
    $( ".three" ).css( { marginLeft: "0" });
    $( ".four" ).css( { marginLeft: "0" });
    $( "#slide2" ).animate( { marginTop: "0" }, { duration: 1000 });
    $( "#slide3" ).animate( { marginTop: "0" }, { duration: 1000 });
    $( "#slide4" ).animate( { marginTop: "0" }, { duration: 1000 });
    $( "#slide5" ).animate( { marginTop: "0" }, { duration: 1000 });
    $( "#betting-money" ).val("0");
    $( "#results" ).hide("");
    $( "#winner" ).hide("");
    $( "#next-end" ).hide("");
//trying to unselect the form input selection
 $("#race input option:selected").attr("selected", "");    
//new random number generated... which doesn't work
    var randomNum1 = Math.ceil(Math.random(20)*10000);
    var randomNum2 = Math.ceil(Math.random(20)*10000);
    var randomNum3 = Math.ceil(Math.random(20)*10000);
    var randomNum4 = Math.ceil(Math.random(20)*10000);
    }); 

我认为您在不同的范围中声明了不同的变量。尝试在第二次设置变量时删除var

randomNum1 = Math.ceil(Math.random(20)*10000);
randomNum2 = Math.ceil(Math.random(20)*10000);
randomNum3 = Math.ceil(Math.random(20)*10000);
randomNum4 = Math.ceil(Math.random(20)*10000);

查看您试图取消选择的表单的HTML代码会有所帮助。

在事件处理程序中,您将使用与全局变量相同的名称声明新的局部变量。取而代之的是:

var randomNum1 = ...

用途:

randomNum1 = ...

我不确定你想取消选择什么。如果它是一个输入元素,则它没有任何选项子项。如果它是一个选择元素,可以有选项子项,则不能取消选择某个选项,而是选择其他选项。

要从输入元素中移除焦点,请使用blur方法:

$("#race input").blur();

要取消选择一个选择选项,您可以选择另一个选项:

$("#race select").val("0");

顺便说一下,你的随机数计算是有缺陷的。Math.random方法不接受参数,它返回一个等于或大于零且小于1的值。如果使用Math.ceil来获取0.-10000范围内的数字,则值0的出现次数将比其他数字少得多。

要获得在0.-10000范围内正确分布的数字,请使用Math.floor并乘以10001:

randomNum1 = Math.floor(Math.random() * 10001);

如果你打算得到一个在1.-10000范围内的结果,你应该加一个:

randomNum1 = Math.floor(Math.random() * 10000) + 1;

关于所选问题:

使用

$("#race option:selected").prop("selected", false); 
  1. 选项不是输入的子项(选择器错误)
  2. 使用attr()时,您设置了html属性,但该属性只有一个有效值:"selected" prop() 设置"selected"-属性,其值可能为false or true