0

_BgtArrayビューに渡した 2-D array( ) があります。マウスオーバーで特定の配列値を表示したい。ペアの値を 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

この猫の皮を剥ぐ方法はいくつかあります。1 つの方法は、各セルに特定のイベント ハンドラーをアタッチすることです。モデルから 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 に答える