首页 > 其他分享 > 表格里,如何实现input失去焦点事件

表格里,如何实现input失去焦点事件

时间:2023-04-21 23:45:51浏览次数:41  
标签:index val 表格 焦点 value common var input sprintf

 

一诺佳人 创建于   2020-09-02 13:33  

大佬,请问表格的input框内怎么实现动态失去焦点事件,例如填写数量和单价,金额自动生成,

 


我在formatter里写了,如下,但是不是自动触发,是点击新增按钮,才会自动计算一次。

 

 

     

参考代码

表格字段

{
    field: 'weight',
    align: 'center',
    title: '商品重量',
    formatter: function(value, row, index) {
	var html = $.common.sprintf("<input class='form-control weight' type='text' name='goods[%s].weight' data-index='%s' value='%s'>", index,index, value);
	return html;
    }
},
{
    field: 'price',
    align: 'center',
    title: '商品价格',
    formatter: function(value, row, index) {
	var html = $.common.sprintf("<input class='form-control' type='text' name='goods[%s].price' value='%s'>", index, value);
	return html;
    }
},
 

动态添加事件


$("body").on("input propertychange",".weight",function(){
    var value = $(this).val();
    var index = $(this).data("index");
    $("input[name='" + $.common.sprintf("goods[%s].price",index) + "']").val(value * 10);
})
 

失去焦点事件

$("body").on("blur",".weight",function(){
    var value = $(this).val();
    var index = $(this).data("index");
    $("input[name='" + $.common.sprintf("goods[%s].price",index) + "']").val(value * 10);
})
       

参考代码
表格字段

{
field: 'weight',
align: 'center',
title: '商品重量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control weight' type='text' name='goods[%s].weight' data-index='%s' value='%s'>", index,index, value);
return html;
}
},
{
field: 'price',
align: 'center',
title: '商品价格',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='goods[%s].price' value='%s'>", index, value);
return html;
}
},
 

动态添加事件

$("body").on("input propertychange",".weight",function(){
var value = $(this).val();
var index = $(this).data("index");
$("input[name='" + $.common.sprintf("goods[%s].price",index) + "']").val(value * 10);
})
 

失去焦点事件

$("body").on("blur",".weight",function(){
var value = $(this).val();
var index = $(this).data("index");
$("input[name='" + $.common.sprintf("goods[%s].price",index) + "']").val(value * 10);
})
 

@Ricky var index = $(this).data("index"); 这个获取的index为undefined,我要怎么调整下这句?谢谢

    389553 richmoster 1598435988 Ricky 成员 3年前  

@Ricky var index = $(this).data("index"); 这个获取的index为undefined,我要怎么调整下这句?谢谢

@一诺佳人

var html = $.common.sprintf("<input class='form-control weight' type='text' name='goods[%s].weight' data-index='%s' value='%s'>", index,index, value);
这里定义了,这只是给你参考,要怎么改,看你自己的业务情况

    一诺佳人-sudugold 一诺佳人 3年前  

@一诺佳人
var html = $.common.sprintf("<input class='form-control weight' type='text' name='goods[%s].weight' data-index='%s' value='%s'>", index,index, value);
这里定义了,这只是给你参考,要怎么改,看你自己的业务情况

@Ricky
请问,根据您的代码提示,我想问下失去焦点事件最后赋值的.val(val10),这个10,我改成如下代码qty 和price,amt=qtyprice,做了2个失去焦点事件,amt的赋值不能成功,还请再指导下,非常感谢大佬。

// 失去焦点事件
$("body").on("blur",".qty",function(){
    var value = $(this).val();   ==>能取值
    var index = $(this).data("index");==>能取值
    var price = $("input[name='" + $.common.sprintf("sysPdList[%s].price",index) + "']").val();==>能取值
    price==null||price==""?$("input[name='" + $.common.sprintf("sysPdList[%s].amt",index) + "']").val("0"):$("input[name='" + $.common.sprintf("sysPdList[%s].amt",index) + "']").val(value * price);
})   ====>不能取值

// 失去焦点事件
$("body").on("blur",".price",function(){
    var value = $(this).val();
    var index = $(this).data("index");
    var qty = $("input[name='" + $.common.sprintf("sysPdList[%s].qty",index) + "']").val();
   
    qty==null||qty==""?$("input[name='" + $.common.sprintf("sysPdList[%s].amt",index) + "']").val("0"):$("input[name='" + $.common.sprintf("sysPdList[%s].amt",index) + "']").val(value * qty);
})
      389553 richmoster 1598435988 Ricky 成员 3年前  

@Ricky
请问,根据您的代码提示,我想问下失去焦点事件最后赋值的.val(val10),这个10,我改成如下代码qty 和price,amt=qtyprice,做了2个失去焦点事件,amt的赋值不能成功,还请再指导下,非常感谢大佬。
// 失去焦点事件
("body").on("blur",".qty",function()varvalue=$(this).val();==>能取值varindex=$(this).data("index");==>能取值varprice=$("input[name=′"+$.common.sprintf("sysPdList[price==null||price==""?$("input[name=′"+$.common.sprintf("sysPdList[)====>不能取值//失去焦点事件

("body").on("blur",".price",function(){
var value = (this).val();varindex=(this).data("index");
var qty = ("input[name=′"+.common.sprintf("sysPdList[%s].qty",index) + "']").val();
qty==null||qty==""?("input[name=′"+.common.sprintf("sysPdList[%s].amt",index) + "']").val("0"):("input[name=′"+

.common.sprintf("sysPdList[%s].amt",index) + "']").val(value * qty);
})

@一诺佳人 好好看看第一次给你的代码示例,剩下的问题都是js基础了,自己查一查怎么使用js

    一诺佳人-sudugold 一诺佳人 3年前  

@一诺佳人 好好看看第一次给你的代码示例,剩下的问题都是js基础了,自己查一查怎么使用js

@Ricky

感谢,已经解决了。非常感谢指导。

标签:index,val,表格,焦点,value,common,var,input,sprintf
From: https://www.cnblogs.com/chuangsi/p/17342232.html

相关文章

  • vue-input-directive 插件的使用(已兼容vue3.0)
    codepen体验地址github地址安装、引入npminstallvue-input-directive--saveimportVuefrom'vue'importinputValidatefrom'vue-input-directive'Vue.use(inputValidate)1、d-input-max 输入数字限制最大值<el-inputv-d-input-max="99.99"v-......
  • R中6种读入表格数据的方式哪个最快?结果出人意料!
    R怎么读入表格数据最快?R中有6个常用数据读取函数:utils::read.csv:默认使用的读入方式(read.table)readr::read_csv:readr包中的读入函数(RStudio中默认也包含了这一方式)data.table::fread:来自data.table包base::load:加载rda文件base::readRDS:读取二进制数据feather::rea......
  • HTML input type="number" 隐藏默认的步进箭头
    HTMLinputtype="number"隐藏默认的步进箭头number类型的<input>元素用于让用户输入一个数字,其包括内置验证以拒绝非数字输入。浏览器可能会选择提供步进箭头,让用户可以使用鼠标增加和减少输入的值,或者只需用指尖敲击即可。但有些场景需要隐藏默认的步进箭头。要隐藏HTML......
  • JetBrains IntelliJ支持自动切换输入法插件 smart input,写代码如丝般顺滑
    对于母语为中文的开发者,写代码过程中经常需要在中/英输入法之间进行切换,而且由于不清楚当前处于哪种输入状态,有时输入到一半发现输入法错了,删除重新输入,有时切换了好几次都没有成功,实在太影响写代码了。其实,在哪个位置需要使用哪种输入法是可以确定的,既然这样就可以让IDE帮助我......
  • TransformMine图像表格化构建系统
    今日团队任务:图片转excel(5天)前端开发(需团队风格统一)调用接口(后端),json数据->excel前后端连接           任烁玚(进行中)            图片转html(8天)前端开发(需团队风格统一)图片转为pdf(存储)pdf转html(调用接口)[html存储到数据库]前后台数据同......
  • 由于找不到 XINPUT1_3.dll,无法继续执行代码。重新安装程序可能会解决此问题。
    ---------------------------EpicGamesLauncher.exe - 系统错误---------------------------由于找不到 XINPUT1_3.dll,无法继续执行代码。重新安装程序可能会解决此问题。 ---------------------------确定   --------------------------- 解决方法:安装最新DirectX。......
  • input设置不可写,只读 disabled 和 readonly
    评:实现input的只读效果的两种方法:disabled和readonly。Disabled说明该input无效,及其value不会传递给任何程序,比如asp、php等。Readonly仅仅是无法编辑,不影响其值的传递。Disabled使用:<INPUTtype=”text”name=”username”value=”james”disabled>Readonly使用:<INPUTty......
  • umy-ui表格单行编辑(解决单行编辑滑动后失效问题)
    TableRowEdit.vue<template><div><ux-grid:data="tableData"tooltip-effect="dark"show-overflow="tooltip":cell-style="{'text-align':'center'}&q......
  • 根据题库表文件抽取题目形成试卷表格
    试卷指的是抽取的题目类似试卷,但是不是格式是试卷那种格式。应对考试搞得一个,题库里面的题非常之多,每次都看完不太可能,就想着自动抽取汇总成题目文件。1'''2抽取100道题目:单选30,多选10,填空10,判断改错10,名词解释20,问答203'''45importxlwings6impor......
  • convert InputStream to String
      publicStringgetContent(finalURLurl){try{InputStreaminputStream=url.openStream();returnnewScanner(inputStream).useDelimiter("\\A").next();}catch(finalExceptione){......