如何在html中访问jQuery变量

时间:2012-06-12 10:00:02

标签: jquery asp.net-mvc-3 razor

我有一个二维数组(_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变量,但我无法为此找到合适的解决方案。你能建议一个方法吗?

1 个答案:

答案 0 :(得分: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();
        });