我创建了一个表格,每行都是一个复选框。 我想要做的是当有人检查一行或多行时,会出现垃圾桶图标。 单击垃圾可以删除所选行。
这是我到目前为止写的代码:
可以显示垃圾的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 number ..)传递给垃圾桶的onclick函数? 这意味着,我希望每次点击垃圾,我都可以使用所选复选框的值进行一些操作。
答案 0 :(得分:1)
我想当你说“一切都运行良好”时,你的意思是说代码直到 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对象将转换为数组。
希望这有帮助。