javascript - 无法获取动态 document.getElementById 值
问题描述
我在从表单中动态添加的行中获取值时遇到问题。
我有一个“添加新行”按钮,我想通过使用 onChange 从新行获取值。
我不知道如何让它工作
此代码添加了我的行:
<script type="text/javascript">
$(document).ready(function(){
var counter = 1;
$(".add-row").click(function(){
var markup = "<tr><td><input type='hidden' name='record'></input></td><td><select name='pris["+ counter +"][type]'><option value='ordi'>Ordinaer</option><option value='barn'>Barn</option></select>Belop<input type='text' name='pris["+ counter +"][pris]' value='0' id='pris_"+ counter +"'></input>Gebyr kr.<input class='bless' type='text' id='Gebyr_"+ counter +"' readonly disabled size='5'></input></td></tr><tr><td> </td><td><input type='checkbox' name='pris["+ counter +"][1]' checked>Internett</input><input type='checkbox' name='pris["+ counter +"][2]' checked>Callsenter</input><input type='checkbox' name='pris["+ counter +"][3]'>Distribusjon</input><input type='checkbox' name='pris["+ counter +"][4]'>Lokal Billettluke</input></td></tr>";
counter++;
$("table tbody").append(markup);
});
我希望有这样的功能可以在我添加的所有行上工作:
function Gebyr1(parameter) {
var c = 1;
var G10 = document.getElementById("pris_" + c).value;
if (G10 <= 99){var G10_2 = '15';}
else if (G10 >= 100 && G10 <= 249){var G10_2 = '20';}
else if (G10 >= 250 && G10 <= 449){var G10_2 = '25';}
else if (G10 >= 450 && G10 <= 699){var G10_2 = '30';}
else if (G10 >= 700 && G10 <= 949){var G10_2 = '35';}
else if (G10 >= 950 && G10 <= 1199){var G10_2 = '40';}
else if (G10 >= 1200 && G10 <= 1449){var G10_2 = '45';}
else if (G10 >= 1450 && G10 <= 1699){var G10_2 = '50';}
else if (G10 >= 1700 && G10 <= 1949){var G10_2 = '55';}
else if (G10 >= 1950 && G10 <= 2199){var G10_2 = '60';}
else if (G10 >= 2200 && G10 <= 2449){var G10_2 = '65';}
else if (G10 >= 2450 && G10 <= 2699){var G10_2 = '70';}
else if (G10 >= 2700 && G10 <= 2949){var G10_2 = '75';}
else if (G10 >= 2950 && G10 <= 3199){var G10_2 = '80';}
document.getElementById("Gebyr_" + c).value = G10_2;
解决方案
使用 JQuery on() 而不是 click()
$( "具有动态 dom 的容器的选择器" ).on( "click", "此容器内新行按钮的选择器", function() { console.log(); });
推荐阅读
- java - 有没有办法访问以前创建的 Guice 注射器?
- android - 为什么从绑定列表中删除对象后,Xamarin 中 ListView 上的项目不会消失,即使 ItemSource 属性已重置?
- python - 如何使用 Python 恢复标点符号?
- flutter - 如何在 Flutter Shader 中做从 topLeft 到 bottomRgiht 的渐变效果?
- ruby-on-rails - 我不想通过 alias_method 修改的模型类的未定义方法
- microsoft-graph-api - Microsoft Graph - 使用 sendMail API 时电子邮件传递失败
- c++ - 为什么在这种情况下我需要 .template
- angular - 数据集未在 html 中显示
- c - FR_DISK_ERROR 总是由 f_open 返回
- docker - 将 php/nginx docker 容器连接到外部 mysql