Javascript 通过选中标记单选按钮来增加int

Javascript 通过选中标记单选按钮来增加int,javascript,Javascript,我有一大堆单选按钮,格式如下: XCheese 我的递增索引函数非常简单 var index = 0; function incrementIndex() { index += 1; document.getElementById("demo").innerHTML = ""+index+""; if ($("#Xch").attr("checked") == true){ index = 10; } } 当一个单选按钮被点击时,它会增加索引

我有一大堆单选按钮,格式如下:

XCheese

我的递增索引函数非常简单

var index = 0;

function incrementIndex() {
    index += 1;
    document.getElementById("demo").innerHTML = ""+index+"";

    if ($("#Xch").attr("checked") == true){
        index = 10;
    }
}

当一个单选按钮被点击时,它会增加索引,但我希望它增加索引一次,并且只有当按钮没有被选中时,它的设置方式,即使选中了Xch单选按钮,它也会继续增加索引!请提供帮助。

您正在执行的操作并不十分清楚,但是如果您想要所需的行为,请将index+=1移动到if语句中,以检测是否已选中。如果不是,则可以增加

比如:

var index = 0;

function incrementIndex() {

    document.getElementById("demo").innerHTML = ""+index+"";

    if ($("#Xch").attr("checked") == true){
        index = 10;
    }
    else {
        index += 1;        
    }
}
您需要使用复选框而不是radiobox。 在无线电组中,一旦选择了一个输入,组中的一个输入必须始终保持选中状态。 在复选框组中,可以选择或取消选择输入的任何数字

将您的HTML更改为:

XCheese


它应该会起作用。

不确定你为什么想做这样的事情,但这就是你想要做的吗

<input type="radio" name="ch" value="XCheese " onclick="incrementIndex(this)">XCheese</input><br>
<input type="radio" name="ch" value="YCheese " onclick="incrementIndex(this)">YCheese</input><br>
<input type="radio" name="ch" value="ZCheese " onclick="incrementIndex(this)">ZCheese</input><br>


var index = 0;
var previousValue;
function incrementIndex(e)
{    
    if(e.checked && e != previousValue) index += 1;
    previousValue = e;
    alert(index);
} 
这里有一个例子

即使已检查小部件,仍会导致值增加。只要点击小部件,onclick就会触发,而不仅仅是在它没有被选中的情况下。这个例子很好,但是它在我的应用程序上不起作用,也许原因是我的主体中有脚本?奇怪。它应该还在那里工作。你可以在大多数浏览器中使用浏览器的开发工具F12,我想看看是否有javascript错误。您还可以添加alert1;为了确保函数被调用,我忘了将e添加到方法的构造函数中,而将e添加到单选按钮的标记中。现在,它甚至不会更改索引、增量或设置为10,是因为脚本在HTML的主体中吗?