我目前正在使用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 = '';
}
});
为了更清楚一点,我将链接截图。
数组中的单个值,如果我删除/结束调用,它将实时拼接数组和网页。
如果数组中有两个以上的值,则下面看到的两个值是交换的,就是这样,但是当我刷新页面时,无法再看到从数组中删除的元素。
我需要在任何时候实时删除它,并且不确定它为什么适用于单个值且不超过一个。
答案 0 :(得分:0)
由@guramidev提供的问题是使用ID而不是类,即使有很多,也只能一次删除一个元素。
$( "#exe" ).remove();