单击后如何在固定的时间间隔内禁用单选按钮

时间:2014-09-03 11:50:40

标签: html javascript

我希望在单击一个单选按钮时禁用所有单选按钮,然后在单击单选按钮后的固定间隔时间后启用它。

    <input type="radio" value="LIKE" onclick="func(this.value)">LIKE
    <br>
    <input type="radio" value="OK" onclick="func(this.value)">OK
    <br>
    <input type="radio" value="DISLIKE" onclick="func(this.value)">DISLIKE
    <br>

2 个答案:

答案 0 :(得分:2)

我已经在您之前的帖子中回答了,无论如何它正在为我工​​作,你能试试吗?

    <script>
    function func(thisValue){
        setTimeout(function() {
          $('input[type=radio]').attr("disabled",true);
           $('input[type=radio]').removeAttr("checked");

           $('input[value='+thisValue+']').attr("disabled",false);
           $('input[value='+thisValue+']').attr("checked","checked");
           $('input[value='+thisValue+']').prop('checked', true);

        }, 100);
    }
    </script>

HTML

    <label onclick="func('LIKE')" style="position:relative"><input type="radio" value="LIKE" >LIKE</label>
    <label onclick="func('DISLIKE')" style="position:relative"><input type="radio" value="DISLIKE">DISLIKE</label>

答案 1 :(得分:0)

这样的东西?

HTML:

<input type="radio" value="LIKE">LIKE
<br>
<input type="radio" value="OK">OK
<br>
<input type="radio" value="DISLIKE">DISLIKE
<br>

JS:

var inputs = document.getElementsByTagName('input');
var len = inputs.length;

for (var i=0; i<len; i++) {
    inputs[i].addEventListener('click', function() {
        for (var j=0; j<len; j++) {
            inputs[j].disabled = true;
        }
        window.setTimeout(function() {
            for (var j=0; j<len; j++) {
                inputs[j].disabled = false;
            }
        }, 1000);
    });
}

这里是fiddle