javascript - 将变量从复选框传递给 onclick 函数

标签 javascript jquery checkbox onclick

我创建了一个表,并将每一行作为一个复选框。 我想做的是,当有人检查一行或多行时,会出现一个垃圾桶图标。 单击垃圾箱可删除所选行。

这是我到目前为止编写的代码:

垃圾桶出现的div:

<div class="hidden" id="adminPanelShow">
      <img src="../images/garbage.jpg" class="adminPanelIcons"/><br>
      <img class="hrLine" src="images/line.png"/>
</div>

表格:

<table>
         <tr><td><input type = "checkbox" name="idPriv[]" id="idPriv"  onclick="evaluateIT(this)" data-related-item="adminPanelShow" value ="<?php echo $value["id"]?>" /></td>
             <td><input type="text" name="userName[]" id="userName" class="adminPanel" value="<?php echo $value["userName"]?>"/></td>
             <td><input  name="firstName[]" type="text" id="firstName" class="adminPanel" value="<?php echo $value["firstName"]?>"/></td>
             <td><input  name="lastName[]" type="text" id="lastName" class="adminPanel" value="<?php echo $value["lastName"]?>"/></td>
         </tr>
</table>

JavaScript 代码:

function evaluateIT(obj){

    var item = $(obj);
    var relatedItem = $("#" + item.attr("data-related-item"));
    var length = $("input:checked").length;

    if(item.is(":checked") )
        relatedItem.fadeIn();
    else if(item.not(":checked") && length == 0)
        relatedItem.fadeOut();   

}

现在,一切正常,但是我如何将所选复选框中的值(id 号..)传递到垃圾桶的 onclick 函数中? 这意味着,我希望每次单击垃圾箱时,我都可以对所选复选框的值进行一些操作。

最佳答案

我认为当你说“一切正常”时,你的意思是说直到garbage-can显示正常工作的代码,而不是garbage-can的实现> 功能。我从你拥有的 javascript 函数中假设了这一点。请说得更清楚,这样人们才能帮助您。

现在,

看看这个例子,你就可以在你的案例中实现。我试过了,有效

HTML:

<div id="garbagecan" style="border: 1px solid red">garbagecan</div>
<ul id="books">

    <li><input id="book1" value="book1" type="checkbox"><span>Book1</span>
    </li>
    <li><input id="book2" value="book2" type="checkbox"><span>Book2</span>
    </li>
    <li><input id="book3" value="book3" type="checkbox"><span>Book3</span>
    </li>
    <li><input id="book4" value="book4" type="checkbox"><span>Book4</span>
    </li>
</ul>

Javascript代码[使用jquery]

$(document).ready(function($) {

    $("#garbagecan").hide();

    $("#garbagecan").click(function() {
        var selectedIds = $("#books :checkbox:checked").map(function() {
            return $(this).val();
        }).get();
        alert(selectedIds);

    });

    $("#books :checkbox").click(function() {

        if ($("#books :checkbox:checked").length > 0) {
            $("#garbagecan").show();
        } else {
            $("#garbagecan").hide();
        }
    });
});

其作用:垃圾箱 div 将被隐藏,直到您至少选中一个复选框。当您至少选择一个复选框并单击垃圾桶时,我会向选定值的数组发出警报。当您调用 .get() 方法时,生成的 jquery 对象将转换为数组。

希望这有帮助。

关于javascript - 将变量从复选框传递给 onclick 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21790544/

相关文章:

javascript - 一个多个输入字段的jquery总和

javascript - 哪种风格更适合 checkin JavaScript?

javascript - nodeJS 视频流,当用户断开连接或移动到不同页面时连接不会关闭

javascript - 提交表单前的jquery

javascript - 使用ajax控制复选框 Action

javascript - 捆绑和缩小以及异步/等待

javascript - Vue js 在输入字段中对 v-model 应用过滤器

javascript - 将 json 文件中的图像显示到 HTML 文件中,但样式对它们不起作用

javascript - 如何在 angularjs 的 ng-repeat 中正确使用复选框?

jQuery - 达到限制时禁用剩余的复选框