0

我正在使用一组多维输入元素,例如:

<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"/>

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

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

$.each(Base_fare, function(key, value) {
    alert(key);
  });  

但它没有返回 23 24 它返回 1,2,3 就像我需要验证这些发现

我想做的是总结这样的事情

$.each(Base_fare, function(key, value) {
        $.each(Base_fare[key], function(key2, value2) {
    alert(key2 + ':' + value2);
     });
  });  

所以我可以获取每个元素的值来操作它并验证字段,但它不工作..

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

4

1 回答 1

0

但它没有返回 23 24 它正在返回 1,2,3 这样

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

// 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索引。您的替代方法是在使用索引之前对其进行测试:

$.each(Base_fare, function(key, value) {
    if (value !== undefined) alert(value);
}); 
于 2013-06-05T19:59:10.950 回答