如何使用其ID在jquery / javascript中选择动态生成的表单元素?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用其ID在jquery / javascript中选择动态生成的表单元素?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3177字,纯文字阅读大概需要5分钟。
内容图文
当用户单击ADD按钮/加号时,我试图动态创建一行3个表单域.
用于创建表单元素的Javascript代码如下:
<script type="text/javascript">
var field_counter = 1;
var field_limit = 5;
species = document.getElementById('species');
breed = document.getElementById('breed');
function addInput(divName){
if (field_counter == field_limit) {
alert("You have reached the limit of adding " + field_counter + " inputs");
}
else {
var dynamic_species = 'species'+field_counter; //dynamic id for species
var dynamic_breed = 'breed'+field_counter; //dynamic id for breed
var dynamic_quantity = 'quantity'+field_counter; //dynammic id for quantity
var dynamicForm = '<div class="form-group"><div class="col-md-4"><label for="'+dynamic_species+'">Animal Type</label><select class="form-control input-sm '+dynamic_species+'" id="'+dynamic_species+'"><option></option></select></div>';
dynamicForm+='<div class="form-group"><div class="col-md-4"><label for="'+dynamic_breed+'">Breed</label><select class="form-control input-sm '+dynamic_breed+'" id="'+dynamic_breed+'"><option></option></select></div>';
dynamicForm+='<div class="form-group"><div class="col-md-2"><label for="'+dynamic_quantity+'">Quantity</label><input type="number" name="quantity_export" id="'+dynamic_quantity+'" class="form-control input-sm '+dynamic_quantity+'" /></div>';
var newdiv = document.createElement('div');
newdiv.innerHTML = dynamicForm;
document.getElementById(divName).appendChild(newdiv);
document.getElementById(dynamic_species).innerHTML = species.innerHTML;
document.getElementById(dynamic_breed).innerHTML = breed.innerHTML;
field_counter++;
}
}
</script>
<div class="col-md-2" >
<label for=""> </label>
<i onclick="addInput('dynamicInput');" style="cursor: pointer; border: none;" class="fa fa-plus form-control input-sm">Add</i>
</div>
如图所示,使用上述代码创建了一行“动物类型,品种和数量”的表单字段.可以添加的最大行数限制为变量“ field_limit”的值.
下拉菜单的值最初是使用以下代码从父下拉菜单填充的:
species = document.getElementById('species');
breed = document.getElementById('breed');
document.getElementById(dynamic_species).innerHTML = species.innerHTML;
document.getElementById(dynamic_breed).innerHTML = breed.innerHTML;
问题:如何选择新表单字段的动态生成的ID.
这是脚本用来选择第一次加载页面时HTML中的表单字段的第一行:
$("#species").change(function(){
$('#breed').empty();
//alert($(this).val());
var param = {'id':$(this).val()};
$.ajax({
type : 'POST',
url : '<?php echo base_url();?>select_breed',
dataType : 'json',
data: param,
success : function(data)
{
var select = $('#breed');
select.empty().append(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown)
{
alert(XMLHttpRequest.responseText);
}
});
});
表单字段的第二行是使用以下ID动态创建的
First Field : Animal Type :
ID="species1"
Second Field : Breed :
ID="breed1"
Third Field : Quantity :
ID="quantity1"
我无法使用jquery选择器选择动态生成的表单字段:-例如:$(“#species1”).change(function(){}); ,它不起作用.
我想做什么?
我需要使用其ID属性获取这些字段的值.任何帮助将不胜感激.谢谢 .
解决方法:
将event delegation用于动态生成的内容,如下所示:
// change `document` to top level parent that existed on page or
// parent container
$(document).on("change", "#species1", function(){...});
内容总结
以上是互联网集市为您收集整理的如何使用其ID在jquery / javascript中选择动态生成的表单元素?全部内容,希望文章能够帮你解决如何使用其ID在jquery / javascript中选择动态生成的表单元素?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。