JS:
$('#button6').click(function () {
$('#que1').hide();
$('#que2').hide();
$('#que3').hide();
$('#que4').show();
$('#que5').hide();
$('#que6').hide();
$('#que7').hide();
$('#que8').hide();
var line1 = $('.question3:checked').val();
if (typeof line1 === "undefined") {
var msg = new Windows.UI.Popups.MessageDialog("You Choosed", "nothing");
msg.showAsync();
$('#button6').click();
}
});
有可能吗?如果不检查任何单选按钮,我想返回相同的功能。
但这不起作用。
答案 0 :(得分:1)
危险 - 如果条件永远不会满足,那么您将陷入无限点击循环。
否则,请使用:$(selector).trigger("click")
。
此外,这一行:
var line1 = $('.question3:checked').val();
if (typeof line1 === "undefined") { ... }
...可以简化为:
if($('.question3').is('checked')) { .... }
答案 1 :(得分:0)
如果您的条件if (typeof line1 === "undefined")
评估为true
,那么您处于无限循环状态。因为您再次单击相同的按钮。
$('#button6').click(function () {
some condition{
$( "#button6" ).trigger( "click" ); // Again triggering the same button click
}
}
如果未选中该复选框,则可以显示警报,但不要再次调用相同的按钮。您可以做的是提示用户再次检查。
答案 2 :(得分:0)
你的方法是试图递归......这是一个糟糕的主意。 在您确认已经回答之前不要隐藏que3。然后显示que4。 考虑一下这些评论;这就是你如何装饰问题(例如添加一个红色边框)。
var line1 = $('.question3:checked').val();
if (typeof line1 === "undefined") {
// $("que3").addClass('error');
return;
} else {
// $("que3").removeClass('error');
$('#que3').hide();
$('#que4').show();
}