在jquery中选中复选框时启用confirmbox按钮
Enable buttons of confirmbox when checkbox checked in jquery
这是functions.php文件中的代码。有一个用于输入值的确认框。当我按下"确定"按钮时,值会被保存。但我希望用户先选中复选框,然后再输入值。这就是我所做的一切,但问题在于,当我在不选中复选框的情况下按下"确定"按钮时,警报会出现,同时确认框会隐藏。我希望确认框在警报消失后保持其位置。
var mess ="abc";
jQuery.confirm({
'title' : '<?php _e('Terms','Theme'); ?>',
'message' : mess ,
'buttons' : {
'<?php _e('OK','Theme'); ?>' : {
'class' : 'button1',
'action': function()
{
if(jQuery('#check').is(":checked")){
post_ok = 1;
jQuery("#my_form_"+id).submit();
return true;
}
else{
alert("select terms and conditions first.");
}
}
},
'<?php _e('No','Theme'); ?>' : {
'class' : 'button2',
'action': function(){ return false; }
}
}
});
confirm.js
(function($){
$.confirm = function(params){
if($('#confirmOverlay').length){
// A confirm is already shown on the page:
return false;
}
var buttonHTML = '';
$.each(params.buttons,function(name,obj){
// Generating the markup for the buttons:
buttonHTML += '<a href="#" class="button '+obj['class']+'">'+name+'<span></span></a>';
if(!obj.action){
obj.action = function(){};
}
});
var markup = [
'<div id="confirmOverlay">',
'<div id="confirmBox">',
'<h1>',params.title,'</h1>',
'<p>',params.message,'</p>',
'<div id="confirmButtons">',
buttonHTML,
'</div></div></div>'
].join('');
$(markup).hide().appendTo('body').fadeIn();
var buttons = $('#confirmBox .button'),
i = 0;
$.each(params.buttons,function(name,obj){
buttons.eq(i++).click(function(){
// Calling the action attribute when a
// click occurs, and hiding the confirm.
obj.action();
$.confirm.hide();
return false;
});
});
}
$.confirm.hide = function(){
$('#confirmOverlay').fadeOut(function(){
$(this).remove();
});
}
})(jQuery);
此问题已解决。我为button1分配了一个ID并应用属性(已禁用)。
var agree_button = document.getElementById('agree_button');
jQuery.confirm({
'title' : '<?php _e('Terms','Theme'); ?>',
'message' : mess ,
'buttons' : {
'<?php _e('OK','Theme'); ?>' : {
'class' : 'button1',
'id' : 'agree_button',
'action': function()
{
if(jQuery('#check').is(":checked")){
my_post_ok = 1;
jQuery("#my_form_"+id).submit();
return true;
}
else{
alert("select terms and conditions first.");
agree_button.disabled = false;
}
}
},
'<?php _e('No','Theme'); ?>' : {
'class' : 'button2',
'action': function(){ return false; }
}
}
});
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 如何在 API 调用后和 if 语句中启用提交按钮
- 语义ui如何使用javascript启用或禁用下拉列表
- IE6在启用/禁用文本字段上闪烁
- 传单中如何在更改基层时启用/禁用覆盖层
- 根据字段的值启用按钮
- 如何使用javascript函数在gridview中按行启用/禁用复选框
- 如何禁用和启用css规则
- 淘汰赛.JS'启用'长度绑定条件不起作用
- 如何动态检测Mozilla/Chrome上是否启用SSO
- 旋转木马;启用内容安全策略时无法工作
- 动态启用/禁用来自控制器的输入文本
- 如何启用单选按钮
- 检查浏览器'在asp.net的后端代码中启用或禁用了s JS
- jQuery根据用户选择启用/禁用asp.net控件
- 当我的所有 Ng-from 都有效时启用一个按钮
- 在Golang回调函数中启用CORS
- 启用具有多个布尔可观察标志的绑定
- 选择框已禁用或由其他选择框的某个选项启用
- 在jquery中选中复选框时启用confirmbox按钮