0

我有一个二维数组(_BgtArray),我已将其传递到我的视图中。我想在鼠标悬停时显示特定的数组值。我已将配对值作为 id 传递(如 00,01,02,10,11,12 等..)。鼠标悬停功能是这样的:

jQuery:

 $('.Cell').hover(function (e) {
                var row = $(this).attr('id').substr(0, 1);
                var column = $(this).attr('id').substr(1, 2);
                $('div#pop-up').html("Budget Allocated: @Model._BgtArray[row,column]");
                $('div#pop-up').show();
        }, function () {
            $('div#pop-up').hide();
        });

HTML:

<td class="Cell" id="@k@i" > // k and i are loop variables
              *Some text here*
         </td>

@Model._BgtArray[row,column] 给我一个错误。虽然我很清楚我们不能以这种方式使用 jQuery 变量,但我无法为此找到合适的解决方案。你能建议一种方法吗?

4

1 回答 1

0

有几种方法可以给这只猫剥皮。一种方法是为每个单元附加一个特定的事件处理程序,另一种方法是从您的模型构造一个 JS 数组。后者是最简单的。你只需要一些改变。

 //initialize array based on your model. E.g. in a for loop or a foreach
 var budget = ...;

 $('.Cell').hover(function () {
                var row = $(this).attr('id').substr(0, 1);
                var column = $(this).attr('id').substr(1, 2);
                $('div#pop-up').text("Budget Allocated: " + budget[row]column]");
                $('div#pop-up').show();
        }, function () {
            $('div#pop-up').hide();
        });
于 2012-06-12T10:15:34.457 回答