【问题标题】:Add 'Checked' to a Radio Input via JQuery on var = True?在 var = True 上通过 JQuery 将“已检查”添加到 Radio Input?
【发布时间】:2014-03-28 01:44:39
【问题描述】:

有一些 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'

对更好的做法有什么建议吗?

【问题讨论】:

  • 这样创建 html 有什么问题?您可以使用createElement$("&lt;input /&gt;") 并设置属性,但它会做同样的事情。
  • 使用两个不同 id 的输入然后尝试 if(am==true){$("#amRadios").attr(checked,"checked");}else{$("#pmRadios" ).attr(checked,"checked");}
  • @tymeJV 感谢 createElement
  • @shyamnathan 应该在哪里定义第一个检查?

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


【解决方案1】:

如果您所做的只是尝试检查/取消选中某个元素,请使用 jQuery prop() 方法:

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

[edit] 注意,根据上面的 id='amRadio' 需要是您的收音机 INPUT 的 id,而不是它当前引用的容器。另外,请注意,您的两个单选按钮的 ID 应该不同,而不是您拥有的 ID。只有单选按钮的 name="" 属性应该相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 2019-07-10
    • 2011-03-25
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多