数据中的Backbone.js和javascript未定义值

时间:2015-05-11 02:40:16

标签: javascript arrays backbone.js

我正在练习Backbone.js,但我认为我有一个基本的JavaScript问题。我在获取额外的未定义值时迭代循环结束获取输入值。如果我做myarr.push(kids [i] .value)并在它完成时提醒它我得到一些额外的逗号。就像下一个数组项目两边都有逗号加上前一项的逗号。我想我在某些js基础知识上缺少但我不知道是什么问题所以我可以回去学习它。

    public void printCard()
    {
        PrintHelper imagePrinter = new PrintHelper(getBaseContext());
        imagePrinter.setScaleMode(PrintHelper.SCALE_MODE_FIT);
        imagePrinter.setColorMode(PrintHelper.COLOR_MODE_COLOR);

        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.golf_pic_sm); 
        imagePrinter.printBitmap("Small Golf Image", bitmap);
    }

public void onClick(View v) { 
    switch(v.getId()) { 
        case R.id.button1: 
            Intent capture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
            startActivityForResult(capture, CAMERA_REQUEST); break; 
        case R.id.button2:
            break; 
        case R.id.button3: 
            Intent j = new Intent(this, About_TGS.class); 
            startActivity(j); 
            break; 
        case R.id.button4: 
            finish(); 
        case R.id.Button01: 
            printCard(); 
            break; 
    } 
return; 
} 

1 个答案:

答案 0 :(得分:0)

问题似乎是你假设mydiv元素的所有孩子都是你的一个输入......当这显然不是这样的时候。

渲染时,你的mydiv看起来像这样:

<div id="mydiv">
   <input type='text' class='clickable' /><br>
</div>

如果你点击几次就会得到这个:

<div id="mydiv">
   <input type='text' class='clickable' /><br>
   <input type='text' class='clickable' /><br>
   <input type='text' class='clickable' /><br>
</div>

请注意,#mydiv元素有SIX子元素(是的,br标记计数)。 然后你的funk()方法迭代这些子节点,并将每个子节点的.value()方法添加到数组中。 br标签的.value()调用什么都不返回,这就是为什么你的数组输出中有“空”值的原因。

如果你只想要数组中的输入,那么使用这个选择器而不是#mydiv的孩子:

$("#mydiv > input")

这会给你一个输入元素数组,所有输入元素都是#mydiv元素的直接后代。用你那个阵列做你想做的事。