我有以下Jquery函数,它只在刷新页面时才有效,而不是单击特定的复选框。目前,当我单击一个复选框时,它不会执行任何操作。如何使复选框执行某些操作?
(function($) {
$(document).ready(function() {
alert("nyah nyah! I’m able to use '$'!!!!");
var $b = $('input[type=checkbox]');
alert($b.find(':checked').length);
alert($b.filter(':not(:checked)').length);
function checkPrice() {
alert($b.filter(':checked').length);
}
$("#keywordForm").submit(function(e) {
e.preventDefault();
var option_form = jQuery(e.target);
<!--alert("sometext");-->
updateKeywords(e);
})
$("#updateKeyword").submit(function(e) {
e.preventDefault();
var keyword_form = jQuery(e.target);
refreshKeywords(e);
})
function refreshKeywords(e) {
e.preventDefault();
复选框HTML:
可供订阅的关键字列表 <table id="checkKeywords">
<tbody>
{% for keyword in keyword_list %}
{% if forloop.counter|divisibleby:"3" %}
<tr>
{% endif %}
<td>
<input type="checkbox" id="validate" name="cb" onclick = checkPrice(this) value="{{keyword.keyword_name}}" /> {{keyword.keyword_name}}
</td>
{% if forloop.counter|add:"1"|divisibleby:"3" %}
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
答案 0 :(得分:3)
如果要在单击复选框时执行某些操作,则需要使用.change()
函数将回调函数绑定到change
事件,如下所示:
$('selector for checkbox(es)').change(function(e) {
// do your stuff here
});
您也可以使用click
事件,但在所有浏览器中都无法识别使用键盘更改的值,因此最好不要这样做。