DDR爱好者之家 Design By 杰米
1、使用Vue.js实现双向表单数据绑定,例子
<!--html代码--> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>财产查勘处理</title> <link rel="stylesheet" type="text/css" href="../css/global.css" rel="external nofollow" /> <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css" rel="external nofollow" /> <link rel="stylesheet" type="text/css" href="../css/AdminLTE.min.css" rel="external nofollow" /> <link rel="stylesheet" type="text/css" href="../css/propertySurvey.css" rel="external nofollow" /> </head> <body> <div class="container-fluid"> <div style="text-align: center; height:30px;background:#F4F9FD;padding:10px 0px;border-bottom:1px solid #000; font-weight: bold;">请输入物损查看信息</div> <h4 class="box-title"> <i class="glyphicon glyphicon-play-circle" style="color: #82C542;"></i> 报案信息 </h4> <hr style="height: 3px; border: none; border-top: 3px solid #75C2D2;" /> <div class="row text-center" style="margin-top: -23px; padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="width: 33%; float: left; text-align: left;"> <label>损失方</label><input v-model="RegistInfo_name" type="text" name="RegistInfo_name"/> </div> <div style="width: 33%; float: left; text-align: left;"> <label>联系人</label><input v-model="RegistInfo_user" type="text" name="RegistInfo_user"/> </div> <div style="width: 33%; float: right; text-align: left;"> <label>联系方式</label> <input v-model="RegistInfo_phone" name="RegistInfo_phone" type="text"/> </div> </div> <div class="row text-center" style="margin-top: -23px; padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="width: 33%; float: left; text-align: left;"> <label>损失方1</label><input v-model="Prplregist_name" type="text" name="Prplregist_name"/> </div> <div style="width: 33%; float: left; text-align: left;"> <label>联系人1</label><input v-model="Prplregist_user" type="text" name="Prplregist_user"/> </div> <div style="width: 33%; float: right; text-align: left;"> <label>联系方式1</label> <input v-model="Prplregist_phone" name="Prplregist_phone" type="text"/> </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="width: 33%; float: left; text-align: left;"> <label>查勘估损金额</label> <input v-model="RegistInfo_chakan_money" name="RegistInfo_chakan_money" type="text" value="400.00" /> * </div> <div style="width: 33%; float: left; text-align: left;"> <label>施救费金额</label> <input v-model="RegistInfo_rescue_money" name="RegistInfo_rescue_money" type="text" name="" id="" value="0.00" /> </div> <div style="width: 33%; float: right; text-align: left;"> <label>需要施救</label> <input type="checkbox" />是否需要 </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="width: 33%; float: left; text-align: left;"> <label>查勘估损金额1</label> <input v-model="Prplregist_chakan_money" name="Prplregist_chakan_money" type="text" value="400.00" /> * </div> <div style="width: 33%; float: left; text-align: left;"> <label>施救费金额1</label> <input v-model="Prplregist_rescue_money" name="Prplregist_rescue_money" type="text" name="" id="" value="0.00" /> </div> <div style="width: 33%; float: right; text-align: left;"> <label>需要施救1</label> <input type="checkbox" />是<input type="checkbox" />没错<input type="checkbox" />必须 </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="width: 67%; float: left; text-align: left;"> <label>查勘地点</label> <input v-model="address" name="address" type="text" style="width: 400px;" /> * </div> <div style="width: 33%; float: left; text-align: left;"> <label>查勘日期</label> <input v-model="RegistInfo_chakan_data" name="RegistInfo_chakan_data" type="text" name="" id="" value="2017-03-09" /> </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="height: 50px; text-align: left;"> <label>施救过程描述</label> <input v-model="RegistInfo_say" name="RegistInfo_say" type="text" style="width: 900px; height: 50px;" /> </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="height: 50px; text-align: left;"> <label>备注</label> <input v-model="remark" name="remark" type="text" style="width: 900px; height: 50px;" /> </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="height: 50px; text-align: left;"> <select class="select2"> <option value="123" id="sel1">123</option> <option value="456" id="sel2">456</option> <option value="789" id="sel3">789</option> </select> </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="height: 50px; text-align: left;"> <input type="radio" id="google" value="Google" v-model="RegistInfo_radio" name="RegistInfo_radio"> <label for="google">Google</label> <br> <input type="radio" id="runoob" value="Runoob" v-model="RegistInfo_radio" name="RegistInfo_radio"> <label for="runoob">Runoob</label> </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="height: 50px; text-align: left;"> <input type="radio" id="helongjun" value="helongjun" v-model="RegistInfo_helongjun" name="RegistInfo_helongjun"> <label for="helongjun">helongjun</label> <br> <input type="radio" id="longjun" value="longjun" v-model="RegistInfo_helongjun" name="RegistInfo_helongjun"> <label for="longjun">longjun</label> </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="height: 50px; text-align: left;"> <input type="radio" id="testOne" value="testOne" v-model="testOne" name="testOne"> <label for="helongjun">testOne</label> <br> <!--<input type="radio" id="testOne" value="testTwo" v-model="testOne" name="testOne"> <label for="longjun">testTwo</label>--> </div> </div> <div class="row text-center" style="padding: 3px 50px; border-bottom: 1px solid #DBEEF1;"> <div style="height: 50px; text-align: left;"> <select v-model="RegistInfo_selected" name="RegistInfo_selected"> <option value="">选择一个网站</option> <option value="baidu">baidu</option> <option value="google">Google</option> </select> </div> </div> <div class="text-center row"> <button>暂存(S)</button> <button onclick="getInputVal()">返回(F)</button> </div> </div> <script type="text/javascript" src="/UploadFiles/2021-04-02/vue.min.js">#VueFormSub.js(实现双向绑定主要代码) //实现取值 var VueFormSub = function(formid){ this.$form = ($("#" + formid).length !=0)"#" + formid):$("."+formid); var models = $("*[v-model != '']", this.$form); var vueData = {}; $.each(models,function(idx,dom){ var key = $(dom).attr("name"); if (undefined != key){ var dValue = $(dom).val(); $(dom).val(dValue); var beanName = key.split("_"); if(beanName.length < 2){ vueData[beanName] = dValue; vueData[beanName] = $("input[type='radio'][name='"+key+"']:checked").val(); }else{ if(vueData[beanName[0]] == undefined){ vueData[beanName[0]] = {}; }else{ if($(dom).attr("type") == "radio"){ var tempVal = $("input[type='radio'][name='"+key+"']:checked").val(); vueData[beanName[0]][beanName[1]] = tempVal; }else{ vueData[beanName[0]][beanName[1]]=dValue; } } } } }); return vueData; }; #初始化Vue表单数据(可以只传入initDate数据源,formid需要绑定的dom) VueFormSub.initVue = function(initDate,formid,httpMethod, url, params){ if(initDate instanceof Object){ /*if(initDate.length !=0){}*/ var initJson = VueFormSub.ObjConvert(initDate); new Vue({ el : ($("#"+formid).length != 0)"get" && params && typeof (params) == "object"){ params = JSON.stringify(params); } if(params!= null){ params.rs = Math.random(); }else{ params = {'rs':Math.random()}; } $.ajax({ type: httpMethod, url: "/cxh" + url, data: params, cache:false, async: true, contentType: 'application/json', dataType: 'json', success: function (returnData) { if(returnData.length != 0){ var vueDate = VueFormSub.ObjConvert(returnData); new Vue({ el:($("#"+formid).length != 0)"_"+rid] = rparam; } }); }else{ json[id]=param; } }); return json; };#使用实例 <script> #初始化数据data var initVue = { RegistInfo_name : 'legend', RegistInfo_user : '龙军', RegistInfo_phone : '1008611', RegistInfo_chakan_money : '100', RegistInfo_rescue_money : '1000', address : '广东省汕头市潮南区', RegistInfo_chakan_data : '2017-5-7', RegistInfo_say : '这个只是测试用的', remark : '龙军用来测试的', Prplregist_name : '林总', Prplregist_user : '林老板', Prplregist_phone : '10010', Prplregist_chakan_money : '一万块', Prplregist_rescue_money : '一个亿', RegistInfo_radio : "Runoob", RegistInfo_selected : "google", RegistInfo_helongjun : "helongjun", testOne:"" }; //初始化Vue表单 VueFormSub.initVue(initVue,"container-fluid"); //返回按钮单击 function getInputVal(){ //调用自动表单封装 var resultVal = new VueFormSub("container-fluid"); console.log(resultVal); } #注意:input表单中的name属性必须指定,最好和input表单中的v-model的值一样 <script>最终效果:
以上这篇Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月26日
2024年11月26日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]