通过单击按钮从复选框触发功能

Trigger functions from checkbox on click by clicking on a button

本文关键字:功能 复选框 单击 按钮      更新时间:2023-09-26

我有几个复选框和一个按钮。当我单击复选框时 - 功能被触发。这是所需的行为,但我想通过单击按钮来触发它。我希望有可能首先选中复选框(我尝试使用返回 false 和 event.preventDefault,但这些完全关闭了选择(,然后单击按钮 - 从复选框触发功能。这是jsfiddle的链接:

http://jsfiddle.net/j93k2xns/6/

例如:我可以选择 3 个复选框(什么也没发生(,单击按钮后 - 应该会出现三个警报。

代码:

.HTML:

<input type="checkbox" name='check[]' id="first">first</input>
<input type="checkbox" name='check[]'>second</input>
<input type="checkbox" name='check[]'>third</input>
<input type="checkbox" name='check[]'>fourth</input>
<input type="button" value="validate" id="val-button">

.JS:

var check_state;
$(document).on('click','input[name="check[]"]', function(e){
    if(check_state === true) {
        alert('a');
    } else {
         return false;   
    }
});
$(document).on('click','#val-button', function(){
   check_state = true; 
});

对他的问题有几种解释。如果我没看错的话,他想将任意函数绑定到复选框上。单击该按钮应触发此事件。这是在jQuery中使用自定义事件实现此目的的方法:

$(function () {
    $("input[name='check[]']").bind("myCustomButtonClick", function() { 
        if(this.checked) {
            alert('a');
        }
    });
})
$(document).on('click','#val-button', function(){
   $("input[name='check[]']").trigger("myCustomButtonClick");
});

以及相关的 jsfiddle:http://jsfiddle.net/3yf7ymos/

$(document).on('click','#val-button', function(){
   $( 'input[name="check[]"]' ).each(function( index ) {
       if($(this).is(':checked')) {
           alert("a");
           return true;
       }
    });
});
如果要

在用户选中复选框时执行某些操作,请添加事件侦听器:

$('input[type="checkbox"]').click(function() {
   if ($(this).is(':checked')) {
      // do something
   }
});

如果这个想法是在通过单击按钮检查输入后运行几个函数的:

function myFunction() {
    if ($('input[id="something"]:checked').length == 0) {
        // do something
    } else if ($('input[id="something_2"]:checked').length == 0) {
       // do something
    } 
//and so on..
}
$('#val-button').click(function() {
    myFunction();
});

我也有类似的询问。我有许多复选框。每个复选框都链接到打开 PDF 表单的不同 URL。我希望我的团队能够通过勾选复选框来选择他们需要的表格。一旦他们这样做了,我想要一个按钮来触发每个表单的打开,具体取决于选中的复选框。我有它,所以选中后的复选框会立即打开表格,但它非常分散注意力。最好通过"按钮"立即打开它们。帮助。我对 JavaScript 很陌生,所以可能需要额外的清晰度。