javascript - Jquery 用换行符填充文本区域,如果没有数据则什么都没有

标签 javascript jquery html

我正在尝试在 textbox 中显示 JSON 数据。 数据采用这种格式:

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

我试过这个:

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

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

最佳答案

您可以使用 Object.keys(address) 获取 address 属性的键并对其进行循环并检查该值是否为空。然后根据条件address[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' rows='5'></textarea>

关于javascript - Jquery 用换行符填充文本区域,如果没有数据则什么都没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50424639/

相关文章:

html - 如何为每个元素创建一个垂直和 90 度旋转文本的菜单?

javascript - 我如何比较两个 X、Y 坐标数据集以寻找相似之处?

javascript - Javascript 中 var name = function() {} 和 function name() {} 有什么区别吗?

html - 如何使用模板和 Bootstrap 构建响应式 Web?

带有随机第一张图片的 Javascript 幻灯片?

jquery - 验证(bassistance 插件)必需(依赖回调)问题

javascript - 有谁知道为什么 &lt;script src ="scriptsource.js"/> 不起作用

javascript - 为什么我会收到 ReferenceError : not defined

javascript - 功能的禁用/启用按钮不起作用

javascript - 使用 jQuery 更新按钮上的数据属性