从数组

时间:2015-10-12 10:20:50

标签: javascript jquery arrays node.js socket.io

我目前正在使用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 = '';
        }

    });

为了更清楚一点,我将链接截图。

数组中的单个值,如果我删除/结束调用,它将实时拼接数组和网页。

Single value

如果数组中有两个以上的值,则下面看到的两个值是交换的,就是这样,但是当我刷新页面时,无法再看到从数组中删除的元素。

More than one value

我需要在任何时候实时删除它,并且不确定它为什么适用于单个值且不超过一个。

1 个答案:

答案 0 :(得分:0)

由@guramidev提供的问题是使用ID而不是类,即使有很多,也只能一次删除一个元素。

$( "#exe" ).remove();