Javascript jQuery如果在可点击标签之前输入[type=“radio”';t属性";勾选“;那么就不要添加它,否则什么也不做
请帮助我实现此行为。 我想检查一下,在点击radiobutton旁边的标签后,这个radiobutton是否已经有属性“checked”,然后就可以了,让我们停留在这个阶段。但是如果这个元素没有这个属性,那么我不会添加它。 这就是我所生的: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");
$.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!");
});