正在获取动态生成的ID
Getting a Dynamically generated ID
我有一个复选框,其中的值是从数据库上的数据中动态填充的。我想根据单击的复选框执行进一步的查询,但是每当我单击任何复选框时,我似乎都无法检索ID。我不想使用提交按钮。如何做到这一点??
我的代码。
function getDBlist() {
global $link;
$qry = ("SHOW DATABASES");
$res = mysqli_query ( $link, $qry );
while ( $row = mysqli_fetch_assoc ( $res ) ) {
echo '<input type="checkbox" name="db" id="' . $row ['Database'] . '" value="' . $row ['Database'] . '" />';
echo $row ['Database'];
}
}
getDBlist ();
我的脚本
$(document).on("change","checkbox", function() {
var val = $(this).val();
var id = this.id;
alert(val, id);
});
当我点击任何复选框时,我都不会收到包含值或ID的警报。我做错了什么?这可能是因为我动态生成的ID吗?
要将更改事件绑定到动态生成的复选框,您需要委托change
事件,如下面的
$(document).on("change",".checkbox", function() {
var val = $(this).val();
var id = this.id;
alert(val, id);
});
上面的代码适用于现有的和动态创建的复选框。此处document
对象将用class="checkbox"
将事件delgate更改为复选框
正如@Ghost所提到的,您需要将类添加到动态生成的复选框中,如下面的
echo '<input type="checkbox"
name="db" id="' . $row ['Database'] . '"
value="' . $row ['Database'] . '"
class="checkbox"/>';
.on()的更多信息
查看呈现标记的echo语句,您根本没有指定class="checkbox"
:
echo '<input type="checkbox" name="db" id="' . $row ['Database'] . '" value="' . $row ['Database'] . '" />';
由于您尚未添加它,因此指向$(".checkbox")
将不起作用。你需要将它们添加到回声中。
您的jquery选择器正在寻找一个带有css类"checkbox"的元素,或者将该类添加到您的html:中
echo '<input type="checkbox" class="checkbox"...';
或者删除选择器中的句点,以针对所有复选框元素:
$("checkbox").on("change", function() {
var val = $(this).val();
var id = this.id;
alert(val, id);
});
试试这个
$("body").on("change",".checkbox", function() {
var val = $(this).val();
var id = $(this).attr("id");
alert(val, id);
});
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 在iframe代码中动态插入子id
- 如何为动态创建的元素分配唯一的id-Javascript
- 使用getElementById设置动态ID的输入字段的样式
- Php,Javascript-动态表单id's和动态验证
- 动态添加id's到输入字段
- Javascript:获取具有动态id的文本框值
- 如何将value和id动态添加到html下拉选项标记中
- Jquery通过id动态选择对象使用字符串
- 根据ID动态创建元素(Jquery)
- 如何最好地搜索基于特定元素的id动态生成的自定义列表?
- 使用jQuery通过ID动态修改元素属性
- Jquery getjson为每个id动态点击时- ruby on rails
- 通过id动态访问对象数据
- 在d3.js中使用县Id动态地在地图中插入圆圈
- 使用jQuery将ID动态分配给当前表行tr
- 使用Jquery根据可拖放对象的ID动态更改图像的src
- 如何将id动态添加到每个蓝色圆圈中
- 如何通过id动态选择JQuery元素
- 如何设置ID动态创建的文本框在JavaScript