如下所示,我有一个单选按钮组,有三个选项。最后一个是文本输入。当我在文本框中输入内容时,有没有办法检查最后一个?
<input type='radio' name='result' value="0"/><label for="0">False</label><br/>
<input type='radio' name='result' value="1"/><label for="1">True</label><br/>
<input type='radio' name='result' value="2"/><label for="2">
<input type="text" placeholder="Type your result" name="result_answ"></label>
答案 0 :(得分:3)
如果你加载了jQuery,请使用:
<input type='radio' name='result' value="0"/><label for="0">False</label><br/>
<input type='radio' name='result' value="1"/><label for="1">True</label><br/>
<input type='radio' name='result' value="2"/><label for="2">
<input type="text" placeholder="Type your result" onkeyup="jQuery(this).parent().prev().prop('checked', true)" name="result_answ"></label>
这是一个演示:
http://jsfiddle.net/9q1j36cj/
修改强> 这是非jQuery版本:
<input type='radio' name='result' value="0"/><label for="0">False</label><br/>
<input type='radio' name='result' value="1"/><label for="1">True</label><br/>
<input type='radio' name='result' value="2"/><label for="2">
<input type="text" placeholder="Type your result" onkeyup="this.parentNode.previousSibling.checked = true" name="result_answ"></label>
答案 1 :(得分:0)
尝试以下代码。
onload = function(){
document.getElementsByName('result_answ')[0].onkeyup = function(){
if(this.value!==''){
document.getElementsByName('result')[2].setAttribute('checked', true);
}else{
document.getElementsByName('result')[2].removeAttribute('checked')
}
}
}
<input type='radio' name='result' value="0"/><label for="0">False</label><br/>
<input type='radio' name='result' value="1"/><label for="1">True</label><br/>
<input type='radio' name='result' value="2"/><label for="2">
<input type="text" placeholder="Type your result" name="result_answ"></label>