收藏
回答

动态添加多条input,如何获取input值

<view class='item-immune' wx:for="{{ array_immune }}" wx:key="immune">
 
<view>
 
<text>组织部位:</text>
 
<input placeholder='请输入部位' name="sPart_{{ item }}"></input>
</view>
 
</view


项目需要动态添加多条记录,提交需要对每条值进行校验,循环获取值无效,js如下,知道是因为input 拼接不对,大家如何去实现的

for (var step = 1; step <= that.data.array_immune.length; step++) {
      var sPart = event.detail.value.sPart_+step;
      console.log(sPart)
    }


结果是NaN

最后一次编辑于  2018-03-25
回答关注问题邀请回答
收藏

9 个回答

  • wxu(旭良倒纱行)
    wxu(旭良倒纱行)
    2018-03-26

    <view class='item-immune' wx:for="{{ array_immune }}" wx:key="immune">

    <view>

    <text>组织部位:</text>

    <input placeholder='请输入部位' name="sPart" bindinput='ipt' data-index="{{index}}"></input>

    </view>

    </view>




    ipt:function(e){

        let index = e.currentTarget.dataset.index;

        let array_immune = this.data.array_immune;

        let len = array_immune.length;

        array_immune[index].val = e.detail.value;

        this.setData({

            array_immune: array_immune

        })

    },


    看看可以不?




    2018-03-26
    赞同 1
    回复 1
    • 王雨
      王雨
      2018-12-26

      可以

      2018-12-26
      回复
  • 陈
    2018-03-27

    好,谢谢了

    2018-03-27
    赞同
    回复
  • wxu(旭良倒纱行)
    wxu(旭良倒纱行)
    2018-03-26

    https://mp.weixin.qq.com/debug/wxadoc/dev/component/picker.html    看文档。

    2018-03-26
    赞同
    回复
  • wxu(旭良倒纱行)
    wxu(旭良倒纱行)
    2018-03-26
    <picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
     
      <view class="picker">
     
        当前选择:{{array[index]}}
      </view>
     
    </picker>


    data: {
        array: ['请选择', '品牌', '类别', '中文名', '英文名']
      },
      bindPickerChange: function (e) {
        this.setData({
          index: e.detail.value
        })
      },


    2018-03-26
    赞同
    回复
  • 陈
    2018-03-26

    data{array: ['请选择', '品牌', '类别', '中文名', '英文名'],

    index: [0,1,2]

    }

    <picker mode="selector" value="{{index}}" range="{{array}}">

    <view class="picker">

    {{array[index]}}

    </view>

    </picker>

    当我选择了“”中文名“”之后,我怎么获取到他,怎么把他赋值到页面,就跟下拉框选中一样让它固定在我选择的地方

    2018-03-26
    赞同
    回复
  • wxu(旭良倒纱行)
    wxu(旭良倒纱行)
    2018-03-26

    楼主的意思是点击提交按钮循环获取input的值,4楼你是想实现什么功能呢?另外data-index="{{index}}", index是指array_mmune的下标,data{}里面不需要index:[1,2,3]。



    2018-03-26
    赞同
    回复
  • 陈
    2018-03-26



    不知道怎么搞

    2018-03-26
    赞同
    回复
  • wxu(旭良倒纱行)
    wxu(旭良倒纱行)
    2018-03-26

    比如:data:{

        array_immune:[

            { id: 1 },

            { id: 2 },

            { id: 3 }

        ]

    }

    在onLoad的时候可以for循环先把array_immune每一项都加上val=' ';

    array_immune:[

            { id: 1 ,val:''},

            { id: 2 ,val:''},

            { id: 3 ,val:''}

        ]




    2018-03-26
    赞同
    回复
  • 陈
    2018-03-26

    data: {}里面放什么

    2018-03-26
    赞同
    回复