如何在选择特定的单选按钮后在<div>
或<label>
上显示某些内容,例如我有一组单选按钮
Interest Value
o 3%
o 5%
o 7%
Amount: 1,450.00
金额的值将根据所选的单选按钮而改变。在javascript(没有jquery)上执行此操作的正确方法是什么?什么是最好的DOM事件?
答案 0 :(得分:3)
您只需听取其点击事件即可。
无耻复制的代码OnChange event handler for radio button (INPUT type="radio") doesn't work as one value<form name="myForm">
<input type="radio" name="myRadios" value="3" >3%</value>
<input type="radio" name="myRadios" value="5" >5%</value>
<input type="radio" name="myRadios" value="7" >7%</value>
</form>
Amount: <span id="amount"></span>
<script>
var amountField = document.getElementById('amount');
var rad = document.myForm.myRadios;
var prev = null;
for(var i = 0; i < rad.length; i++) {
rad[i].onclick = function() {
console.log(this.value);
if(this !== prev) {
prev = this;
amountField.textContent = 1000+1000*this.value/100;
}
};
}
</script>
答案 1 :(得分:0)
这取决于您何时想要了解该事件。
如果您想立即了解,请点击。 IE在调用处理函数之前更新了checked状态,我认为其他浏览器也可以。你可能想要仔细检查这个事实。
如果您只是在事情发生之前需要知道,您可以使用更改。在选定的单选按钮失去焦点之前,IE不会触发更改事件。 FF / chrome /其他人可能会在不改变焦点的情况下触发事件,但我相信IE在这种情况下实际上是正确的。
礼貌:@lincolnk
link:Stackoverflow