Appending/updating数组拼接实时问题
Appending/updating issue in real time when splicing from array
我目前正在使用 socket.io、ARI_Client(Node.js) 和 JQuery.
开发应用程序
我现在有一个小问题,我可以根据数组中的内容实时更改值,在向数组添加内容时一切正常......但不是删除它们时,我必须刷新页面才能正常工作。
当我在数组中只有一个值并拼接它工作的相同元素时,除此之外,值交换位置在网页上,当我刷新时,原来想要的效果就在那里。
更新sip功能。
如何将数据传回客户端。
function updateSip() {
console.log("Value: " + test);
io.sockets.emit('sip', chanArr);
}
数组拼接调用函数
function stasisEnd(event, channel) {
console.log(util.format(
'Channel %s just left our application', channel.name));
console.log(channel.name);
var index = chanArr.indexOf(channel.name);
chanArr.splice(index, 1);
updateSip();
}
附加到网页。
Query(function ($) {
var socket = io.connect();
var $sip = $('#sip');
socket.on('sip', function (data) {
var sip = '';
$( "#exe" ).remove();
for (i = 0; i < data.length; i++) {
sip += data[i];
if(sip){
$sip.append('<tr id="exe">\
<td>'+ sip +'</td>\
<td><btton class="btn btn-default mute" id="mute" type="submit">Mute</button></td>\
<td><button class="btn btn-default kick" id="kck" data-toggle="modal" data-target="#myModal" type="submit">Kick</button></td>\
</tr>');
}
else{
$sip.append('Currently no extensions');
}
sip = '';
}
});
为了更清楚地了解发生了什么,我将 link 截图。
数组中的单个值,如果我remove/end调用它会实时从数组和网页中拼接出来
如果数组中有两个以上的值,你在下面看到的两个值交换就是这样,但是当我刷新页面时,从数组中删除的元素就再也看不到了。
我需要它随时实时删除,但我不确定为什么它适用于单个值而不是多个值。
正如@guramidev 所提供的那样,问题是使用 ID 而不是 class,这涉及一次只删除一个元素,即使有很多元素也是如此。
$( "#exe" ).remove();
我目前正在使用 socket.io、ARI_Client(Node.js) 和 JQuery.
开发应用程序我现在有一个小问题,我可以根据数组中的内容实时更改值,在向数组添加内容时一切正常......但不是删除它们时,我必须刷新页面才能正常工作。
当我在数组中只有一个值并拼接它工作的相同元素时,除此之外,值交换位置在网页上,当我刷新时,原来想要的效果就在那里。
更新sip功能。
如何将数据传回客户端。
function updateSip() {
console.log("Value: " + test);
io.sockets.emit('sip', chanArr);
}
数组拼接调用函数
function stasisEnd(event, channel) {
console.log(util.format(
'Channel %s just left our application', channel.name));
console.log(channel.name);
var index = chanArr.indexOf(channel.name);
chanArr.splice(index, 1);
updateSip();
}
附加到网页。
Query(function ($) {
var socket = io.connect();
var $sip = $('#sip');
socket.on('sip', function (data) {
var sip = '';
$( "#exe" ).remove();
for (i = 0; i < data.length; i++) {
sip += data[i];
if(sip){
$sip.append('<tr id="exe">\
<td>'+ sip +'</td>\
<td><btton class="btn btn-default mute" id="mute" type="submit">Mute</button></td>\
<td><button class="btn btn-default kick" id="kck" data-toggle="modal" data-target="#myModal" type="submit">Kick</button></td>\
</tr>');
}
else{
$sip.append('Currently no extensions');
}
sip = '';
}
});
为了更清楚地了解发生了什么,我将 link 截图。
数组中的单个值,如果我remove/end调用它会实时从数组和网页中拼接出来
如果数组中有两个以上的值,你在下面看到的两个值交换就是这样,但是当我刷新页面时,从数组中删除的元素就再也看不到了。
我需要它随时实时删除,但我不确定为什么它适用于单个值而不是多个值。
正如@guramidev 所提供的那样,问题是使用 ID 而不是 class,这涉及一次只删除一个元素,即使有很多元素也是如此。
$( "#exe" ).remove();