绑定事件回填方法

这次的绑定事件回填方法和绑定下拉框回填方法是不一样的,下面给大家讲解一下方法

我们平常时用   <from> </from> 表单来写修改提交数据,一般都是用下面这种方法:

//打开修改模态框,并实现数据回填
function updateRoomRate(RoomRateAgreementID)
 {
     $('#formUpRoomRateAgreement input[type="reset"]').click();//重置表单 
     $.post("SelectRoomRateAgreementies", //数据回填,提交数据
           {RoomRateAgreementID: RoomRateAgreementID },function (returndata) {
            createSelect("URoomCategory","/DFJIUDIAN/DFjiudian/SelectRoomCategory", returndata.RoomCategoryID);
     $("#URoomCategory").change(function () {var URoomCategory = $("#URoomCategory").val();
//实际房价下拉框数据绑定
$.post("/DFJIUDIAN/DFjiudian/SelectRoomCategoryiessed",{URoomCategory:URoomCategory }, function (data) {
        var DisperseGuestPrice = data.DisperseGuestPrice;                            
            $("#UDisperseGuestPrice").val(data.DisperseGuestPrice);
         }, 'json');
    });                
    loadDatatoForm("formUpRoomRateAgreement", returndata); //其他表单信息的数据回填                              
      });
        $("#modalUpRoomRateAgreement").modal('show');
         }

这种写法是可以回填数据,但是绑定的数据只会回填ID,并不会回填准确的数据,如图 在这里插入图片描述
在这里插入图片描述
下面给大家写一种是可以回填准确数据的方法,变化不大,但是我们新手很容易绕进去,我遇到这个问题的时候,看起来没什么,但是我花了整整一天时间才把这个问题解决了,

//打开修改模态框,并实现数据回填
function updateRoomRate(RoomRateAgreementID) {
 $('#formUpRoomRateAgreement input[type="reset"]').click();//重置表单
 $.post("SelectRoomRateAgreementies", //数据回填,提交数据
   {RoomRateAgreementID: RoomRateAgreementID },function (returndata) {
   createSelect("URoomCategory","/DFJIUDIAN/DFjiudian/SelectRoomCategory", returndata.RoomCategoryID);
 $("#URoomCategory").change(function () {var URoomCategory = $("#URoomCategory").val();
//实际房价下拉框数据绑定
$.post("/DFJIUDIAN/DFjiudian/SelectRoomCategoryiessed",{URoomCategory:URoomCategory }, function (data) {
        var DisperseGuestPrice = data.DisperseGuestPrice;                            
            $("#UDisperseGuestPrice").val(data.DisperseGuestPrice);
         }, 'json');
    });                
    $("#URoomRateAgreementID").val(returndata.RoomRateAgreementID);
    $("#UDisperseGuestPrice").val(returndata.DisperseGuestPrice);
    $("#UAgreementRoomRate").val(returndata.AgreementRoomRate);
    $("#URemark").val(returndata.Remark);                       
      }, 'json');
   $("#modalUpRoomRateAgreement").modal('show');
    }

要准确的把绑定的数据字段回填过来,才能接受到准确的数据,如图

在这里插入图片描述
这种写法就能得到准确的数据了,而不是得到只是一个ID,用这种写法的时候一定要在表单里给隐藏域,把主表的ID回填过来,不然修改保存不了,
以后遇到这种绑定事件的时候记得不要用

loadDatatoForm("formUpRoomRateAgreement", returndata); 

来回填表单数据了,可以尝试一下我写的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Vue中,我们可以使用v-model指令将数据绑定到表单元素,以便实现双向数据绑定。然而,在某些情况下,可能会出现无法正确回填数据的情况。下面是一些可能导致Vue日期回填失败的常见问题和解决方法。 1. 日期格式问题:如果从后台获取的日期数据与Vue所使用的日期格式不一致,那么回填将会失败。确保将日期数据正确转换为Vue所需的格式。 2. 异步数据加载问题:如果日期数据是通过异步请求从后台获取的,可能会出现数据还未加载完成就执行回填操作的情况,导致回填失败。可以通过在数据加载完成后再执行回填操作来解决这个问题。 3. 数据类型不匹配问题:在某些情况下,例如使用第三方日期选择器组件,可能需要将日期数据转换为特定的类型才能正确回填。确保将日期数据类型与组件要求的类型一致。 4. 组件生命周期问题:在某些情况下,可能会在组件的生命周期钩子函数中执行回填操作,但是由于某些原因,组件的生命周期可能不按预期执行,导致回填失败。可以尝试使用其他生命周期钩子函数或使用watch监听数据变化的方式来执行回填操作。 5. 表单元素绑定问题:确保使用v-model指令正确将数据绑定到相应的表单元素上。如果v-model指令与日期选择器组件结合使用,可能需要通过配置来正确绑定数据。 总的来说,Vue中日期回填失败可能是由于日期格式、数据加载、类型不匹配、组件生命周期或表单元素绑定等问题所导致的。通过排查和解决这些可能的问题,通常可以解决Vue日期回填失败的情况。 ### 回答2: Vue中的数据回填通常是通过在数据上使用v-model指令来完成的。v-model将数据双向绑定到表单元素,可以通过更改数据来更新表单元素和通过表单元素的输入来更新数据。 然而,如果在Vue中遇到了无法回填的情况,可能有以下几个原因: 1. 数据未正确绑定:在使用v-model指令时,需要确保数据正确地绑定到了表单元素上。如果数据没有正确绑定,那么回填就无法生效。可以通过在数据上使用v-bind指令来进行绑定,例如:v-bind:value="data"。 2. 数据格式不匹配:有时候,如果数据的格式不匹配表单元素的要求,回填也会失败。例如,如果数据是一个数字类型,但使用了input元素,那么在回填时可能会出现问题。可以通过使用合适的表单元素类型来解决这个问题。 3. 数据更新不正确:如果数据没有被正确更新,那么回填也无法生效。在Vue中,应该使用Vue.set或者直接修改数据的方式来确保数据被正确更新。这样才能保证回填能够生效。 综上所述,如果在Vue中遇到了无法回填的情况,需要检查数据的绑定、格式以及更新方式是否正确,以确保回填能够生效。同时,也可以通过查看相关文档或者在开发者社区寻求帮助来解决这个问题。 ### 回答3: Vue中的日期回填问题可能由多种原因导致,以下是一些常见的解决方法: 1. 检查双向绑定:确保你的日期属性使用了v-model指令来进行双向绑定。例如,你可以使用v-model="date"来绑定一个名为date的属性。 2. 检查日期格式:请确保你的日期格式正确,与你要回填的地方保持一致。例如,在大多数情况下,日期格式为yyyy-MM-dd。 3. 检查数据类型:请确保你的日期属性是一个Date对象,并正确初始化。例如,在data属性中,你可以将日期初始化为new Date()。 4. 检查数据源:如果你从API或其他数据源获取日期数据,请确保数据源返回的日期格式正确,并进行适当的格式转换。你可以使用moment.js等日期处理库来进行格式转换。 5. 使用computed属性:在Vue中,你可以使用computed属性来对日期进行处理和回填。你可以在computed属性中编写一个get方法来处理日期,并在模板中使用这个计算属性。 以上是一些建议,希望能解决你的问题。如果仍然有困惑,请提供更多的具体信息,以便我们更好地帮助你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值