添加'已选中'在var = True时通过JQuery进行无线电输入?

时间:2014-02-25 16:53:22

标签: javascript jquery html twitter-bootstrap radio-button

有一些带有时间戳的javascript并将其分解为小时和分钟,将24小时时间转换为12小时

// convert to 12-hour clock
if (hours > 12) {hours = hours - 12; am = false;};
if (hours == 12) {hours = hours; am = false;};
if (hours == 0) {hours = 12;};

以下代码有效,但只需添加checked元素

就必须有更好的做法
var am = true;

if (am == true) {$('#amRadio').html(am1);};
if (am == false) {$('#pmRadio').html(pm1);};

var am1 = '<input type="radio" name="ampmRadios" id="ampmRadios" value="AM" checked>AM'
var pm1 = '<input type="radio" name="ampmRadios" id="ampmRadios" value="PM" checked>PM'

有关更好做法的任何建议吗?

2 个答案:

答案 0 :(得分:0)

如果您正在尝试检查/取消选中某个元素,请使用jQuery prop()方法:

$('#amRadio').prop('checked',true); //false to uncheck

[编辑]注意,基于上面的id ='amRadio'需要是你的无线电INPUT的id,而不是它当前引用的容器。另请注意,两个单选按钮的ID应该不同,与您拥有的不同。只有单选按钮的name =“”属性应该相同。

答案 1 :(得分:0)

可以做这样的事情来简化。

<input type="radio" name="am" />
<label for="am">AM</label>
<input type="radio" name="pm" />
<label for="am">PM</label>

$(document).ready(function() {

    checkTimeInput(22);

    function checkTimeInput(hrs){
        var hours = hrs,
            inputName = 'am',
            am = 1;

        if ((hours > 12) || (hours === 12)) { am = 0; inputName = 'pm'; }    
        if (hours > 12) { hours -= 12; } 

        $("input[name='"+inputName+"']").prop('checked',true);

    }

});