Jquery使用换行符填充文本区域,如果没有数据则填充文本区域 [英] Jquery fill text area with linebreak and nothin if no data

查看:69
本文介绍了Jquery使用换行符填充文本区域,如果没有数据则填充文本区域的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在文本框中显示JSON数据。
数据采用以下格式:

 地址{
street:1st main Road
building_name:佛罗伦萨
楼层:
city:纽约
}

我试过这个:

  $('#id_address ').VAL(address.street +' \\\
'+ address.building_name +' \\\
'+ address.Floor +' \\\
'+ address.city);

但问题是如果Floor中没有数据,那么楼层和城市之间会有一个换行符。如果地址行中没有数据,如何避免换行?

解决方案

您可以使用对象。键(地址)获取地址属性的键并循环,并检查值是否为空。然后根据条件地址[key]!==''相应地准备 textarea 的值。为了更完美,使用条件 index + 1!== allKeys.length 来防止最后一项 \ n



  var address = {street:1st main Road, building_name:Florence,Floor:,city:New York}; var textValue =''; var allKeys = Object.keys(address); allKeys.forEach(function(key,index) ){if(address [key]!==''){textValue + = address [key]; if(index + 1!== allKeys.length){textValue + ='\ n';}}}}; console.log(textValue); $('#id_address')。val(textValue);  

 < script src =https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js>< / script>< textarea id ='id_address'vires ='5'>< / textarea>  


I am trying to show JSON data in a textbox. Data is in this format:

address{
"street":"1st main Road"
"building_name":"Florence"
"Floor":""
"city":"New York"
}

I have tried this:

$('#id_address').val(address.street+'\n'+address.building_name+'\n'+address.Floor+'\n'+address.city);

But issue is that if there is no data in Floor then there will a linebreak between floor and city. How to avoid line breaks if there is no data in address line?

解决方案

You can use Object.keys(address) to get the keys of the address property and loop over that and check if the value is empty or not. Then prepare the value for the textarea accordingly based on the condition address[key] !== ''. For more perfection use a condition index+1 !== allKeys.length to prevent \n for the last item.

var address = {
  "street":"1st main Road",
  "building_name":"Florence",
  "Floor":"",
  "city":"New York"
};

var textValue = '';
var allKeys = Object.keys(address);
allKeys.forEach(function(key, index){
  if(address[key] !== ''){
    textValue += address[key];
     if(index+1 !== allKeys.length){
       textValue += '\n';
     }
  }
});
console.log(textValue);
$('#id_address').val(textValue);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id='id_address' rows='5'></textarea>

这篇关于Jquery使用换行符填充文本区域,如果没有数据则填充文本区域的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆