这里有一个全局变量。 (数组类型)
var obj = [];
我将把输入的值添加到输入。
function firstAddData()
{
var chozyintime = $('#ri_chozyinTime').val();
var chozyinArray = [chozyintime];
obj.push
(
{
"ri_chozyinTime" : chozyinArray,
}
);
}
在ri_chozyinTime中输入的数据将存储为数组。
var chozyinArray = [chozyintime];
现在,添加在" ri_chozyinTime"中输入的值。
cur.ri_chozyinTime.push(chozyintime); // cur is obj , chozyintime is input data
但这是一个问题。
因为它还添加了一个空字符串。
例如,当您查看结果时,
ri_chozyinTime=[, , ]
我的代码应修改哪些部分以删除空字符串?
我试过这个,但失败了。
if(chozyintime != "" || chozyintime != null)
{
cur.ri_chozyinTime.push(chozyintime);
}
我们如何解决这个问题?
答案 0 :(得分:1)
您的if
条件不正确。当chozyintime = ""
时,chozyintime != null
为真;当chozyintime = null
时,chozyintime != ""
为真。
因此,您应该使用&&
代替||
:
if(chozyintime != "" && chozyintime != null)
{
cur.ri_chozyinTime.push(chozyintime);
}
或者你可以这样做:
if(chozyintime)
{
cur.ri_chozyinTime.push(chozyintime);
}
答案 1 :(得分:0)
这可能是因为chozyintime
的值为undefined
,既不是""
也不是null
。一个更好的后卫将是:
if( chozyintime && chozyintime.length > 0 ) {
cur.ri_chozyinTime.push(chozyintime);
}
答案 2 :(得分:0)
只需检查chozyintime
是否为空,然后添加值。
var obj = [];
function firstAddData()
{
var chozyintime = $('#ri_chozyinTime').val();
if (chozyintime.trim() != "") {
var chozyinArray = [chozyintime.trim()];
obj.push
(
{
"ri_chozyinTime" : chozyinArray,
}
);
}
}
$('#test').on('click', function(){
firstAddData();
console.log(obj)
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="ri_chozyinTime">
<button id="test">push</button>
&#13;