我创建了一个表,并将每一行作为一个复选框。 我想做的是,当有人检查一行或多行时,会出现一个垃圾桶图标。 单击垃圾箱可删除所选行。
这是我到目前为止编写的代码:
垃圾桶出现的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/