在数组内部创建组并连接到jquery

时间:2016-01-22 20:08:15

标签: php jquery arrays

例如单词' stack' - >

主阵列:

MainArray =数组([0] => g [1] => g [ 2 ] => s [ 3 ] => t [ 4 ] => a [ 5 ] => c [ 6 ] => k [7 ] => d [8] => v [9])

在另一个数组中保存单词位置(键)的数组

PositionArray =数组([0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6

我想将位数组值分组到主数组键中。我自己想了以下几点:

echo $MainArray[PositionArray[0]];
echo $MainArray[PositionArray[1]];
echo $MainArray[PositionArray[2]];
echo $MainArray[PositionArray[3]];
echo $MainArray[PositionArray[4]];

但是,我仍然没有在另一个数组中创建一个组或其他内容,我只输出“#stack; stack'使用MainArray。

我想要这个小组,因为稍后我会把我的数组放在一个表格中,例如:

g - g - s
t - a - c
k - d - v

然后使用Jquery我想要当我悬停任何堆栈字母(所以s,t,a,c或k)时,我希望它改变整个单词堆栈的字体颜色。所以,例如,如果我徘徊在'单词堆栈获得了不同的字体颜色,当我点击它时,我希望它保持这样。

我尝试了很长时间,但我还没有成功,所以我在这里寻求帮助。

1 个答案:

答案 0 :(得分:1)

正如charlietfl所述,您必须使用json_encode对数组进行编码,然后将它们放入变量中

    var MainArray = {"0":"q","1":"s","2":"t","3":"a", "4":"c", "5":"k"};

    var PositionArray ={"0":"1","1":"2","2":"3","3":"4","4":"5"};

    var Main = $.map(MainArray, function(el) { return el; })
    var Positions = $.map(PositionArray, function(el) { return parseInt(el); })

    var attr = "";
    for(var i=0; i<Main.length;i++){    
      if(Positions.indexOf(i) != -1){
        attr="letter";
        console.log(i);
      }else{
        attr="";
      }
      $('div').append('<span class="'+attr+'">'+MainArray[i]+'</span>')
    }
    $('.letter').on('mouseover', function() {
      $('.letter').css('color', 'red');
    }).on('mouseout', function(){
        $('.letter').css('color', 'black');
    });

JSFiddle

我希望能帮到你。