jquery - 如何将复选框 id 从 HTML 传递到 JQuery?
问题描述
我正在尝试编写一个 Jquery 函数,将任何选定的复选框从一个 div 移动到另一个。但是,我不确定如何将每个复选框的页面 ID 从 HTML 模板代码传递给 JQuery。有没有人有任何想法?
<fieldset>
<h3>Pages</h3>
<div class="fieldset_elements">
<div id="pagecontainer">
<div class="selectpagebox" id="pagebox1">
<h4>Available Pages</h4>
{foreach from=$pagelist item=page}
<div class="pageSelection">
<input type="checkbox" id="{$page.id}"
value="{$page.id}"
{if $page.id eq $selectedPage}
selected="true"
{/if}" />
{$page.page_name}
</div>
{/foreach}
</div>
<div class="selectpagebox" id="pagebox2">
<h4>Selected Pages</h4>
{foreach from=$selectedPage item=page}
<span id="page" class="pageSelection">
<option value="{$page.id}"
{if $page.id eq $selectedPage}
selected="true"
{/if}">
{$page.page_name}
</option>
</span>
{/foreach}
</div>
</div>
</div>
</fieldset>
$(function () {
// Check if user clicks on the checkbox
$('#' + id).click(function() {
if($('#' + id).is(":checked")){
$("#pagebox1").contents().appendTo("#pagebox2");
} else {
$("#pagebox2").contents().appendTo("#pagebox1");
}
});
});
解决方案
您不需要像刚才那样传递一个 id ..
您可以使用将所有输入元素作为一个目标$("#pagebox1 > input[type='checkbox']")
完整代码
$("#pagebox1 > input[type='checkbox']").on("click", function(){
if($(this).is(":checked")){
//checked
}
})
var elements = ["Test 1", "Test 2", "Test 3", "Test 4", "Test 5", "Test 6"];
$.each(elements, function(idx, item){
$("#pagebox1").append(`<input type='checkbox' id='Test_${idx}'>${item}</input>`);
});
// Start of answer
$("#pagebox1 > input[type='checkbox']").on("click", function(){
if($(this).is(":checked")){
alert("Checked");
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="selectpagebox" id="pagebox1">
</div>
推荐阅读
- react-native - 在 React Native 中实现一个包含月份和日期的二维数组
- apache-nifi - 在 NiFi 中合并流文件
- reactjs - 在 react 中同时更新 redux 状态
- javascript - 如果计数器的值为 0,如何隐藏我的徽章?
- sql - 无法打开物理文件。操作系统错误 5:“5(拒绝访问。)”
- javascript - ReactJS如何在成功时显示一个常量函数?
- amazon-web-services - ECS 通过容量提供程序扩展到 ASG 的最小容量
- sql - SQL 查询效率 - 使用左外连接 VS 嵌套选择语句
- r - R:有条件地将数据从一个数据帧提取到另一个数据帧
- node.js - 成功回调后我应该关闭oracle连接吗?