我正在尝试在 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/