如何在Jquery中的.ech()中包含动态添加的输入值
How to include dynamically added input values inside a .each() in Jquery
我有一个系统,用户可以在其中创建或编辑游戏,有时用户可能需要增加每个游戏的"最大玩家"数量。当屏幕最初加载时,系统向用户提供游戏已经具有的相应数量的输入。因此,如果一个游戏的最大玩家数量为3,它将显示3个文本输入。
有时,用户可能需要增加已经保存的游戏的"最大玩家"数量。因此,如果原始游戏最多有3名玩家,然后增加到最多5名玩家,系统将自动在屏幕上添加2个新的文本输入。
当用户完成后,将单击"保存"按钮,系统将根据其类别查找每个输入。对于下面的示例,它将查找两个类,er-offpeak-2
和er-peak-2
,并将所有er-offpeak-2
类分组在一起,将所有er-peak-2
类分组在一起来。然后找到的所有值都被附加到一个字符串中,然后将该字符串保存到数据库中。目前,当显示原始的3个输入时,HTML看起来是这样的:
<table>
<tbody>
<tr class="editrow-2 er-container" style="display:none;">
<td><input type="text" value="3" id="er-maxplayer-2" class="maxplayerinput" data-gameid="2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-maxpinc="0">
<td><input type="text" value="1.00" class="er-offpeak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-minpinc="0">
<td><input type="text" value="2.00" class="er-peak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-maxpinc="0">
<td><input type="text" value="1.00" class="er-offpeak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-minpinc="0">
<td><input type="text" value="2.00" class="er-peak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-maxpinc="2">
<td><input type="text" value="1.00" class="er-offpeak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-minpinc="0">
<td><input type="text" value="2.00" class="er-peak-2"/></td>
</tr>
</tbody>
</table>
这是我的HTML后,最大玩家增加到5:
<table>
<tbody>
<tr class="editrow-2 er-container" style="display:none;">
<td><input type="text" value="5" id="er-maxplayer-2" class="maxplayerinput" data-gameid="2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-maxpinc="0">
<td><input type="text" value="1.00" class="er-offpeak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-minpinc="0">
<td><input type="text" value="2.00" class="er-peak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-maxpinc="2">
<td><input type="text" value="1.00" class="er-offpeak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-minpinc="2">
<td><input type="text" value="2.00" class="er-peak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-maxpinc="0">
<td><input type="text" value="1.00" class="er-offpeak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-minpinc="0">
<td><input type="text" value="2.00" class="er-peak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-maxpinc="0">
<td><input type="text" value="1.00" class="er-offpeak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-minpinc="0">
<td><input type="text" value="2.00" class="er-peak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-maxpinc="0">
<td><input type="text" value="1.00" class="er-offpeak-2"/></td>
</tr>
<tr class="editrow-2 er-container" style="display:none;" data-minpinc="0">
<td><input type="text" value="2.00" class="er-peak-2"/></td>
</tr>
</tbody>
</table>
这是我的JQuery代码,它正在查找所有这些类,然后将它们分组在一起:
var offPeaks = '';
var peaks = '';
$('.er-offpeak-2').each(function(){
if($(this).val() !== 'N/A') {
var optionSelected = $(this).val()+'/';
offPeaks += optionSelected;
}
});
$('.er-peak-2').each(function(){
if($(this).val() !== 'N/A') {
var optionSelected = $(this).val()+'/';
peaks += optionSelected;
}
});
我目前的问题是,上面的JQuery代码似乎只能看到加载页面时创建的输入,而不包括动态添加到表中的输入。
我可以做些什么来包括动态添加的输入?
向表中添加一个ID。例如
<table id="players">
如果发生任何变化,则触发jQuery中的Than
$("#players").change (function() {
var offPeaks = '';
var peaks = '';
$('.er-offpeak-2').each(function(){
if($(this).val() !== 'N/A') {
var optionSelected = $(this).val()+'/';
offPeaks += optionSelected;
}
});
$('.er-peak-2').each(function(){
if($(this).val() !== 'N/A') {
var optionSelected = $(this).val()+'/';
peaks += optionSelected;
}
});
});
相关文章:
- javascript 在着陆页中动态包含关键字
- 如何在开发和生产中动态包含脚本
- 基于屏幕大小的动态包含文件不起作用
- 基于浏览器特性动态包含PHP
- 异步JavaScript动态包含
- 如何从动态包含对象的变量生成对象数组
- 动态包含模板角度指令
- 动态包含javascript文件的安全方法
- 来自动态包含的 js 文件的 Dreamweaver 代码提示
- 无法在ng重复中动态包含角度模板
- 动态包含的Javascript和依赖项
- 调用窗口对象初始化(页面中动态包含iframe)
- 在javascript文件中动态包含javascript代码
- 动态包含javascript文件,然后动态调用函数
- 通过JavaScript在页眉或HTML中动态包含脚本元素
- 动态包含外部Javascript文件
- 无法使用jQuery找到动态包含的DOM元素
- 通过 apache 服务器内部的服务器端过滤,在 SVG 中动态包含 JavaScript
- 动态包含角度指令
- 在AngularJS的分部中动态包含指令