gpt4 book ai didi

javascript - 创建多个唯一的数组 jQuery

转载 作者:行者123 更新时间:2023-12-02 18:46:46 24 4
gpt4 key购买 nike

所以我有一个循环,它创建 9 个独特的按钮,具有独特的 ID 号和独特的标题。这些按钮打开一个带有复选框的模式窗口,我已将复选框数据保存到 1 个数组中。刚刚意识到我的错误,我还需要知道如何循环并创建 9 个唯一命名的数组。

当前代码:

$('.roleBtn').click(function () {
roleName = $(this).html(); /* Get role name */
role_ID = $(this).attr('id'); /* Get role id */
row_Name = ('row-'+role_ID ); /* Create Row Name */
blueBtn = ('blue-btn-'+role_ID) /* Create Blue Button */
var str = $(this).attr('id');
substr = str.split ('role-');
the_Num = substr[1]; /* Get the role ID and split to save number in the_Num */
modal_ID = ('modal-'+the_Num); /* Now get the associated modal number */
genreAry = []; /* My Array, I need to make 9 of these */

基本上我有一个 XSL for-each 循环,它创建 9 个按钮并将 Angular 色(+数字)添加到 id 中。然后我就可以通过 jQuery 获取按钮和 #ids 的内容。

<xsl:for-each select="$TalentUser/item">
<li class="roleBtn" id="role-{position()}">
<xsl:value-of select="sc:fld('title',.)" />
</li>
</xsl:for-each>

我找不到如何正确命名每个新数组,您将如何获取/创建以下内容:

genreAry1 = [];
genreAry2 = [];
genreAry3 = [];
<小时/>

更新工作代码,感谢 @Don McCurdy

<小时/>

我的 XSL添加一个 JavaScript 函数来获取创建的按钮数量(在我的例子中为 9)

<div id="talent-gender">
<ul>
<!-- For Each to get Talent Roles -->
<xsl:for-each select="$TalentUser/item">
<li class="roleBtn" id="role-{position()}">
<xsl:value-of select="sc:fld('title',.)" />
</li>
</xsl:for-each>
<script type="text/javascript">createRoleGenreArrays();</script>
</ul>
</div>

jQuery全局变量

var array_of_arrays = [];
var object_with_arrays = {};
var num_role_leon = 0;

createRoleGenreArrays 函数捕获最终循环编号 (9)

function createRoleGenreArrays () {

for (i = 0; i < numRoleAry_leon.length; i++) {
array_of_arrays.push([]);
object_with_arrays['genreAry'+i] = []; /* creates 9 arrays named genreAry1, genreAray2 ... */
console.log(i);
}
}

最后使用我的不同数组

$('.doneButton').click(function () {

role_ID = role_id_saved_leon;

var ary_Num = the_Num - 1; // <-- need to do this

$('.simplemodal-data input:checked').each(function (i) {
alert($(this).attr('value'));
object_with_arrays['genreAry'+ary_Num].push($(this).attr('value'));

//alert($(this).attr('value'));
});

最佳答案

您是否询问如何创建任意数量的数组,而无需手动为每个数组创建变量名称?如果是这样,我会考虑给他们一个封装对象或数组以使事情变得更容易。

var 
i,
n = 9,
array_of_arrays = [],
object_with_arrays = {};

for (i = 0; i < n; i++) {
array_of_arrays.push([]);
object_with_arrays['genreAry'+i] = [];
]

上面的代码将为您提供两种不同的方法:

[ [], [], [], ... ]
{ genreAry1: [], genreAry2: [], ... }

关于javascript - 创建多个唯一的数组 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16303435/

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