gpt4 book ai didi

javascript - 使用 Jquery 更改动态生成的 html 中的值

转载 作者:行者123 更新时间:2023-11-28 12:46:37 25 4
gpt4 key购买 nike

正如标题所说,我想知道是否有办法更改 jquery 生成的 html 项目的值。这是我目前拥有的代码:

JavaScript

<script type="text/javascript">

$(document).ready(function() {
$('#months').change(function() {
var currentDate = new Date();
var curentMonth = currentDate.getMonth();
var curentYear = currentDate.getYear();

$(".row:not(:first)").remove();
for (var i = 0; i < this.selectedIndex; i++)
$(".row:first").clone(true).insertAfter(".row:last");
$('#dateDueMonth['+i+']').val(curentMonth + 1);
})
});

</script>

我的想法是,克隆行后,我可以根据其当前名称更改下拉列表内容,但显然这是行不通的,而且我一直无法找到一种“ Hook ”动态 html 的方法内容。

和基本 html

<select id="months" name="months">

<option selected value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>

<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
</td><div id="showRows"><div class="row" id="row[]"><td class="td_alt"><select id="dateDueMonth[]" name="dateDueMonth[]" >
<option value="0">Select</option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>

<option value="5">May</option>
<option value="6">Jun</option>
<option value="7">Jul</option>
<option selected value="8">Aug</option>
<option value="9">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>

<select id="dateDueYear[]" name="dateDueYear[]">
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option selected value="2011">2011</option>
</select>

现在动态 html 的生成和表单提交效果很好。为我提供可用于后端代码的数据。然而,有了它,我就可以在我认为合适的情况下增加各个下拉列表中的值,这将使使用此页面的人们输入数据变得更加容易,因此出现了问题。

对于所有回复,感谢您对这个 jquery/JS noob 的帮助。

编辑:为此,我想要的是一种可以生成包含在 showRows div 中的第一行的多个副本的表单。提交后,我希望它能够为生成的行的每个选择/输入语句收集数组中的信息。例如,如果我选择两个月,则 dateDueMonth、dateDueYear 和 amount 将是我的表单中的数组,每个数组都有两个条目。当前代码执行此操作,但默认情况下,它的下拉菜单的默认元素设置与其克隆的 HTML 行相同。

最佳答案

不确定你想做什么,但它应该像这样工作

$(document).ready(function() {
$('#months').change(function() {
var currentDate = new Date();
var curentMonth = currentDate.getMonth();
var curentYear = currentDate.getYear();
var arr;
$(".row:not(:first)").remove();
for (var i = 0; i < this.selectedIndex; i++)
arr=[$(".row:first").clone(true).insertAfter(".row:last")];
$('#dateDueMonth['+i+']').val(curentMonth + 1); //don't know why its here

arr[0].text("your value"); //apply the index you wanna change
})
});

关于javascript - 使用 Jquery 更改动态生成的 html 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7052078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com