wxml模塊代碼:
<!--pages/registerInfo/registerInfo.wxml-->
<view class='contain'>
<view class='main'>
<view class='question' wx:for='{{multiform}}' wx:key='{{index}}' wx:for-item='multi' wx:for-index='current'>
<view class='label' wx:for='{{multiform[current]}}' wx:key='{{index}}' wx:for-index='present'>
<view class='title'>
<text style='color:#f00' wx:if='{{item.isNeed}}'>*</text>
{{item.name}}
</view>
<view class='detail' wx:if='{{item.type==1}}'>
<input data-present='{{present}}' data-current='{{current}}' bindinput='getVal' placeholder='{{item.tips}}' placeholder-class="phcolor"></input>
</view>
<view class='detail' wx:else>
<picker bindchange="bindPickerChange" data-current='{{current}}' data-present='{{present}}' value="{{item.current}}" range="{{item.optionsList}}">
<view class="picker">
<text class='phcolor'>{{item.optionsList[item.current]}}</text>
</view>
</picker>
</view>
</view>
</view>
</view>
<view class='footer'>
<button bindtap='nextStep'>下一步</button>
</view>
</view>
js代碼:
const app = getApp()
Page({
/**
*/
data: {
activityId:null,
number:1,//默認(rèn)一人報(bào)名
multiform:[],
form:[]
},
/**
*/
onLoad: function (options) {
console.log(options)
this.setData({
activityId:options.activityId,
number:options.number
})
this.getQuestions()
},
// 獲取問題列表
getQuestions:function(){
const that=this
wx.showLoading({
title: '加載中',
mask: true
});
wx.request({
url: app.globalData.baseUrl + '/Application/appPost?action=Activity/getActivityQuestions.do',
header: app.globalData.header,
method: 'post',
data: {
"activityId": that.data.activityId,
"http_headers": app.globalData.http_headers
},
dataType: 'json',
success:(data)=>{
console.log(data)
if(data.data.result=='success'){
let multiform = []
for (let j = 0; j < data.data.signUpQuestionList.length;j++){
if (data.data.signUpQuestionList[j].type==2){
let optionsList=[]
for (let k = 0; k < data.data.signUpQuestionList[j].options.length;k++){
optionsList.push(data.data.signUpQuestionList[j].options[k].value)
}
data.data.signUpQuestionList[j].optionsList = optionsList
data.data.signUpQuestionList[j].current=0
}
else{
data.data.signUpQuestionList[j].val=''
}
}
for (let i = 0; i < that.data.number; i++) {
const signList=data.data.signUpQuestionList
multiform.push(signList)
}
that.setData({
form:data.data.signUpQuestionList,
multiform: multiform
})
}
else{
wx.showToast({
title: data.data.text,
icon: 'none',
duration: 2000
})
}
},
complete:()=>{
wx.hideLoading()
}
})
},
//獲取input值
getVal:function(e){
let that=this
const present = e.currentTarget.dataset.present
const current = e.currentTarget.dataset.current
const val=e.detail.value
let resetForm = [].concat(that.data.multiform)
resetForm[current][present].val=val
console.log('當(dāng)前條current:'+current+';當(dāng)前present:'+present)
that.setData({
multiform: resetForm
})
},
// 獲取下拉框值
bindPickerChange:function(e){
const that=this
console.log('picker發(fā)送選擇改變,攜帶值為', e.detail.value)
let multiform = that.data.multiform
const index = e.currentTarget.dataset.current
const present = e.currentTarget.dataset.present
console.log('index:'+index+';present:'+present)
multiform[index][present].current=e.detail.value
console.log(multiform[index][present])
this.setData({
multiform: multiform
})
},
nextStep:function(){
const formList=this.data.multiform
for(let i=0;i<formList.length;i++){
for(let j=0;j<formList[i].length;j++){
const list=formList[i][j]
console.log(list)
if (list.isNeed){
console.log(list.isNeed)
if(list.type==1 && list.val==''){
wx.showToast({
title: '請完善報(bào)名信息',
icon: 'none',
duration: 2000
})
return
}
}
}
}
// return
wx.setStorage({
key: 'regInfo',
data: this.data.multiform,
})
wx.navigateTo({
url: '../confirm/confirm?activityId='+this.data.activityId,
})
},
})
問題描述: form為需要填寫的字段,而number為報(bào)名的人數(shù),通過遍歷number數(shù)量將form push到multiform生產(chǎn)對應(yīng)的需要報(bào)名人數(shù)的數(shù)組,例如
當(dāng)前是兩個(gè)用戶需要填寫的內(nèi)容。
問題:現(xiàn)在存在的問題是bindinput和bindchange綁定的事件都將兩個(gè)用戶的字段填充了?
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。