繁体   English   中英

jQuery如果可点击标签之前的input [type =“ radio”]没有属性“ checked”,则不添加它,否则不做任何事情

[英]jQuery if input[type=“radio”] before clickable label hasn't attribute “checked” then do NOT add it, else do nothing

请帮助我实现此行为。 我想检查单击单选按钮旁边的标签后,此单选按钮是否已经具有“选中”属性,那么就可以了,让我们继续这个阶段。 但是,如果此元素没有此属性,那么我不会添加它。 这是我生的:

$.fn.hasAttr = function (name) {
    return this.attr(name) !== undefined;
};
var lab = $(".rating input[type='radio'] + label");
lab.click(function {
    if ($(this).lab.prev('input').hasAttr('checked')) {
        alert("OK");
    };
});

这是一个JSFiddle

请帮助我。 提前致谢!

$('#ret_info_srars1 label').on('click', function(e) {
    e.preventDefault();
    if($(this).prev('input[type=radio]').is(':checked'))
        alert("OK!");
});

jsfiddle演示

确定是否在jQuery中选中了单选按钮的正确方法是:

$("input:radio").is(':checked')

您还可以使用单选按钮的change事件:

$('.rating input:radio').change(function(){
    if ($(this).is(':checked'))
    {
        alert ("changed and checked");
    }
});    

看到它在摆弄

要设置要检查的单选按钮,请使用.prop

$("input:radio").prop("checked", true)

或者您可以只写:

$(lab).is(':checked')
{
alert("Radio Button Checked");
}

因为实验室已经分配了所需的ID。

要么

if($("#RadioButtonID).is(':checked'))
{
alert("Radio Button Checked");
}
else
{
alert ("Not Checked");
}

如果您的目标确实是按照上面的注释所述创建一组“只读”单选按钮,则最简单的解决方案是禁用单选按钮:

$('input[type="radio"]').prop('disabled', true);

这是您更新的小提琴: http : //jsfiddle.net/voveson/25d3bja7/3/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM