Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery如果在可点击标签之前输入[type=“radio”';t属性";勾选“;那么就不要添加它,否则什么也不做_Javascript_Jquery - Fatal编程技术网

Javascript jQuery如果在可点击标签之前输入[type=“radio”';t属性";勾选“;那么就不要添加它,否则什么也不做

Javascript jQuery如果在可点击标签之前输入[type=“radio”';t属性";勾选“;那么就不要添加它,否则什么也不做,javascript,jquery,Javascript,Jquery,请帮助我实现此行为。 我想检查一下,在点击radiobutton旁边的标签后,这个radiobutton是否已经有属性“checked”,然后就可以了,让我们停留在这个阶段。但是如果这个元素没有这个属性,那么我不会添加它。 这就是我所生的: $.fn.hasAttr = function (name) { return this.attr(name) !== undefined; }; var lab = $(".rating input[type='radio'] + label");

请帮助我实现此行为。 我想检查一下,在点击radiobutton旁边的标签后,这个radiobutton是否已经有属性“checked”,然后就可以了,让我们停留在这个阶段。但是如果这个元素没有这个属性,那么我不会添加它。 这就是我所生的:

$.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");
    };
});


请帮帮我,伙计们。提前谢谢

判断是否在jQuery中选中单选按钮的正确方法是:

$("input:radio").is(':checked')
您还可以使用单选按钮的更改事件:

$('.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


如果您的目标确实是创建一组“只读”单选按钮,如您在上述评论中所述,最简单的解决方案是禁用单选按钮:

$('input[type="radio"]').prop('disabled', true);
这是你最新的小提琴:


您是否意识到
$(this)
是代码中的窗口而不是标签?我不确定你想完成什么。是的,我做了,但什么也没发生。你没有任何点击代码来检测它何时改变。该代码仅在加载页面时运行。在您倾听更改事件之前,不会帮助您实现目标。已更新。抱歉,老兄,我有时很不注意。JQueryTanks dude中没有
.lab
,但我想在输入后单击标签并检查,如果未检查此输入,则不应用属性检查。然后更改您正在侦听的事件<代码>$(“标签”)。按上面的方法单击(),但关键是可以使用
is(':checked')
。我已经更新了我的答案,告诉您如何手动更改值。var lab=$(“.rating input[type='radio']+label”);所以,无法检查标签:)我知道人,但在我创建的标记中,我对单选按钮使用了属性display:none,并且它们已经在DOM中使用disabled属性呈现。但是这些输入之后的标签是可单击的,并且这些输入正在更改属性已选中。@max然后您应该更新JSFIDLE以显示实际的标记和css。是否使用display:none应该没有任何区别——如果单选按钮被禁用,单击标签将不会添加checked属性。顺便说一下,“checked”是一个属性,而不是一个属性。
$('input[type="radio"]').prop('disabled', true);
$('#ret_info_srars1 label').on('click', function(e) {
    e.preventDefault();
    if($(this).prev('input[type=radio]').is(':checked'))
        alert("OK!");
});