收藏
回答

用wx:for动态添加值的修改

<form>

    <view class='form-item' wx:for='{{formMoney}}'>

        <view class='form-img'>

            <image src='{{item.img}}'/>

        </view>

        <view class='form-money'>

            <view>余额:{{itm.money}}¥</view>

        </view>

        <view class='form-change'>

            <button bindtap='addOne' class='button-left'>+</button>

            <input confirm-type='done' maxlength='6' type="text" value='{{item.getMoney}}'/>

            <button bindtap='cutOne' class='button-right'>-</button>

        </view>

    </view>

</form>

怎样在点击button时动态改变input标签里面的value值?

动态生成的代码中,点击事件会一起触发?

希望大佬们看见后帮我解决一下这2个问题,谢谢!

回答关注问题邀请回答
收藏

4 个回答

  • 詹小灰
    詹小灰
    2018-07-26

    for循环input的时候,需要设置一个key。

    通过key=id,循环的时候input绑定一个唯一的标示符,这样修改input的时候就可以修改你指定的值


    wx:for='{{formMoney}}'  wx:key="id"


    <view class='form-item' wx:for='{{formMoney}}'   wx:key="id">

     
        <view class='form-change'>
     
            <button bindtap='addOne' data-index="{{index}}" class='button-left'>+</button>
     
            <input confirm-type='done' maxlength='6' type="text" value='{{item.getMoney}}'/>
     
            <button bindtap='cutOne' class='button-right'>-</button>
     
        </view>
     
    </view>


    data: {
      formMoney: [{
        id: 0,
        getMoney: 0
      }, {
        id: 1,
        getMoney: 0
      }]
    },
    addOne(e) {
      let index = e.currentTarget.dataset.index

      let list = this.data.formMoney


      list[index].getMoney = 1
      this.setData({
        formMoney: list
      })
    }


    2018-07-26
    赞同 2
    回复 1
    • profes
      profes
      2018-07-26

      感谢!收获很大

      2018-07-26
      回复
  • 昕昕念念
    昕昕念念
    2018-07-28

    看看大佬的答案

    2018-07-28
    赞同
    回复 1
    • profes
      profes
      2018-07-28


      2018-07-28
      回复
  • 简单◎life℡
    简单◎life℡
    2018-07-26

    不知道理解的对不对,你这个是类似购物车的某一种商品的加减吗?

    想要改变循环遍历的值的话,可以考虑重新对整个对象  formMoney  重新赋值

    绑定事件如果同名的话,点击的确会触发,但是应该不是同时触发,因为毕竟同时只是点击了一个值而已

    2018-07-26
    赞同
    回复 7
    • profes
      profes
      2018-07-26

      现在的主要问题是:怎样通过bindtap的函数来改变{{item.getMoney}}的值,我现在只知道怎样修改{{参数}}的值

      2018-07-26
      回复
    • 简单◎life℡
      简单◎life℡
      2018-07-26

      可以在后台直接改变对应的  item.getMoney的值,再把 formMoney  塞到页面上

      2018-07-26
      回复
    • profes
      profes
      2018-07-26回复简单◎life℡

      请问一下,塞数据是getData方法吗?我试过,不行的


      2018-07-26
      1
      回复
    • 简单◎life℡
      简单◎life℡
      2018-07-26回复profes

      贴一下后台的代码截图吧

      2018-07-26
      回复
    • profes
      profes
      2018-07-26回复简单◎life℡


      2018-07-26
      回复
    查看更多(2)
  • SleepingTriumph
    SleepingTriumph
    2018-07-26

    不要用form表单就行

    2018-07-26
    赞同
    回复 2
    • profes
      profes
      2018-07-26

      我想实现的功能有点像京东支付功能,没有表单,应该无法向后台传输数据啊?


      2018-07-26
      回复
    • SleepingTriumph
      SleepingTriumph
      2018-07-26

      用request提交数据

      2018-07-26
      1
      回复
登录 后发表内容