我尝试使用下面的代码实现的是,当单击生成按钮并且检查了html
变量然后执行某些操作时 - 在这种情况下加载警报但是从此fiddle你可以看到它以完全相反的方式工作。
为什么这样做?以及如何解决它我的工作方式也是如此 - 你可以看到我也必须为另一个复选框做这件事:)
HTML:
<div class="form-group formGroup10">
<div class="checkbox">
<label><input id="html" type="checkbox" value="">
<strong>Download as a HTML file</strong></label>
<br/>
<label><input id="showInline" type="checkbox" value="">
<strong>Show as HTML Code</strong></label>
</div>
<br/>
<button type="button" id="generate" class="btn btn-primary formButton10">Generate</button>
</div>
JS:
var html = $('#showInline');
var file = $('#html');
$("#generate").click(function(){
html.change(function(){
if($(this).is(':checked'))
{
alert('hello');
}
});
});
答案 0 :(得分:4)
无需更改活动。你可以删除它来工作。
使用这种方式:
(defun expand-to-indentation ()
"Select surrounding lines with current indentation."
(interactive)
(let ((indentation (current-indentation)))
(if (= indentation 0)
(mark-whole-buffer)
(while (<= indentation (current-indentation))
(forward-line -1))
(forward-line 1)
(push-mark (point) nil t)
(while (<= indentation (current-indentation))
(forward-line 1))
(backward-char))))
你在做什么:
您正在约束$("#generate").click(function(){
//html.change(function(){
if(html.is(':checked'))
{
alert('hello');
}
//});
});
事件中的change
事件。因此,当您第一次单击它时,它会在click
上注册更改事件。
我也必须为另一个复选框执行此操作
为此,您可以将其简化为:
html
答案 1 :(得分:1)
您每次点击生成时都会绑定更改事件。你应该改为
var html = $('#showInline');
var file = $('#html');
html.change(function(){
if($(this).is(':checked'))
{
alert('hello');
}
});
$("#generate").click(function(){
html.trigger('change')
});