jquery怎么给循环出来的列表(类似于text框)取值和赋值

 ****场景描述:这样的我在项目的时候遇到了一个很常见的问题,但是一直没有解决,最后在朋友的帮助下解决了,所以简单的将这个代码和解决的过程描述一下,给以后你们遇到类似问题的时候一个参考。

 问题描述:我需要做一个生成验证码,然后将生成的验证码放到对应的框里面的功能。但是因为这些数据是遍历出来的,

所以就出现了,text的id不好设置为变量的一个问题。页面是这样的:

jquery怎么给循环出来的列表(类似于text框)取值和赋值\

页面代码是这样的

 <input type="text" readonly="true" style="width: 4rem;" value="" id="pantinecode"/>
  <button class="layui-btn layui-btn-mini links_edit" href="javascript:void(0);" οnclick="generatecode(${patient.id});" id="btn"><i class="layui-icon"></i>生成验证码</button>
					
 

   ****js代码是这样的

function generatecode(id){
		$.ajax({
	  		 type : "post",
	  		 url : "/sys/patientcode.htm"?patientId="+ id +",//这个是我的接口
	  		 data : {},
	  		 dataType : "json",
	  		 async : false,
	  		 success : function(data) {
	  		 if(data.code != '0') {
	  		 $("#pantientcode").val(data.message);
	  		  else {
	  		  layer.alert("生成失败!");
	  		    }
	  		 }
	  		    	 });
	  		}
 

ok,这是我们大家都会的一种常规写法,但是这样的结果就是:

jquery怎么给循环出来的列表(类似于text框)取值和赋值\

 是的,我点击第二个按钮,生成的验证码是在第一个上面显示的,很头疼,所以就问了我朋友这块怎么处理比较合适,

 ****直接上代码

<input type="text" readonly="true" style="width: 4rem;" value="" id=${patient.id}/><!--这里是变量,也就是我通过jquery取出来的-->
    <button class="layui-btn layui-btn-mini links_edit" href="javascript:void(0);" οnclick="generatecode(${patient.id});" id="btn"><i class="layui-icon"></i>生成验证码</button>
					
 

\

js是这样的

function generatecode(id){
 
 $.ajax({
	  type : "post",
	  url : "/sys/patientcode.htm"?patientId="+ id +",//这个是我的接口
	  data : {},
	  dataType : "json",
	  async : false,
	  success : function(data) {
	  if(data.code != '0') {
	  $("#"+id).val(data.message);
	  else {
	  	layer.alert("生成失败!");
	  	}
	  }
	  	});
	  }
 

\

然后的结果就是这样的:

jquery怎么给循环出来的列表(类似于text框)取值和赋值

完美的适应到。

ok简单的总结一下,这次出现这样的问题,原因很简单,是因为自己对jquery的操作还不是很明白,其实给一个元素

加一个id的时候,只要是将id设置为双引号引起来的,那么jquery就会认为你的是定值,只有将变量给id才是可以给不

同的元素赋值的,id后面的是根据需要来判断是不是需要加引号的。这个是需要记住的,然后就是ajax传数据的时候,

拼接字符串的时候一定要注意,不要写错了,一旦写错了,后果就是取值赋值失败!

本人有自己的网站搞机族,欢迎大家访问!

(0)
上一篇 2021年3月27日 上午10:00
下一篇 2021年3月27日 上午10:22

相关推荐

发表回复

登录后才能评论