首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多维数组元素验证

多维数组元素验证
EN

Stack Overflow用户
提问于 2013-06-06 03:47:46
回答 1查看 484关注 0票数 0

我使用输入元素的多维集合,如下所示:

代码语言:javascript
复制
<input value="0" name="Base_fare[23][0]" onchange="javascript:basechanged(23,0)" type="text" id="Base_fare[23][0]" class="imputText2"/>
<input value="0" name="Base_fare[24][0]" onchange="javascript:basechanged(24,0)" type="text" id="Base_fare[24][0]" class="imputText2"/>
<input value="0" name="Base_fare[25][0]" onchange="javascript:basechanged(25,0)" type="text" id="Base_fare[25][0]" class="imputText2"/>
<input value="0" name="Base_fare[23][15]" onchange="javascript:basechanged(23,0)" type="text" id="Base_fare[23][15]" class="imputText2"/>
<input value="0" name="Base_fare[24][15]" onchange="javascript:basechanged(24,0)" type="text" id="Base_fare[24][15]" class="imputText2"/>
<input value="0" name="Base_fare[25][15]" onchange="javascript:basechanged(25,0)" type="text" id="Base_fare[25][15]" class="imputText2"/>
<input value="0" name="Base_fare[23][16]" onchange="javascript:basechanged(23,0)" type="text" id="Base_fare[23][16]" class="imputText2"/>
<input value="0" name="Base_fare[24][16]" onchange="javascript:basechanged(24,0)" type="text" id="Base_fare[24][16]" class="imputText2"/>
<input value="0" name="Base_fare[25][16]" onchange="javascript:basechanged(25,0)" type="text" id="Base_fare[25][16]" class="imputText2"/>

我通过以下方式将值存储到数组:

代码语言:javascript
复制
var Base_fare = new Array(3);
Base_fare[23] = new Array(4);
Base_fare[23][0]=parseFloat(document.getElementById('Base_fare[23][0]').value);
Base_fare[23][15]=parseFloat(document.getElementById('Base_fare[23][15]').value);
Base_fare[23][16]=parseFloat(document.getElementById('Base_fare[23][16]').value);
Base_fare[23][17]=parseFloat(document.getElementById('Base_fare[23][17]').value);
Base_fare[24] = new Array(4);
Base_fare[24][0]=parseFloat(document.getElementById('Base_fare[24][0]').value);
Base_fare[24][15]=parseFloat(document.getElementById('Base_fare[24][15]').value);
Base_fare[24][16]=parseFloat(document.getElementById('Base_fare[24][16]').value);
Base_fare[24][17]=parseFloat(document.getElementById('Base_fare[24][17]').value);

因为索引是用php for-each循环动态生成的,所以我必须使用$.each

代码语言:javascript
复制
$.each(Base_fare, function(key, value) {
    alert(key);
  });  

但它不是返回23 24,而是返回1,2,3,我需要验证这些结果

我想做的是像这样的求和运算

代码语言:javascript
复制
$.each(Base_fare, function(key, value) {
        $.each(Base_fare[key], function(key2, value2) {
    alert(key2 + ':' + value2);
     });
  });  

因此,我可以获取每个元素的值来操作它并验证字段,但它不起作用。

任何人能给我任何解决方案或替代解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-06 03:59:11

,但它不返回23 24,它返回1,2,3这样的值

jQuery的each()将使用for循环遍历数组,直到数组的length,就像这样:

代码语言:javascript
复制
// actual jQuery's each() code
var i = 0, isArray = isArraylike( obj );
...
if ( isArray ) {
    for ( ; i < length; i++ ) { // <------------------------------------ HERE
        value = callback.call( obj[ i ], i, obj[ i ] );

        if ( value === false ) {
            break;
        }
    }
} else {
...

因此,没有办法像您所希望的那样在2324索引上开始迭代。您的替代方案是在使用索引之前对其进行测试:

代码语言:javascript
复制
$.each(Base_fare, function(key, value) {
    if (value !== undefined) alert(value);
}); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16948550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档