0

私は価値の大きなグリッドを持っています。最初は、各値はドロップダウンでした。しかし、ロードは非常に遅かった(+15秒)。したがって、グリッド(通常のテーブル)でテキストを使用し、テキストのダブルクリックでドロップダウンリストを使用したいと思います。これは可能ですか?また、telerikドロップダウンを使用することは可能ですか?

次に例を示します。色を含むグリッド(例:青、青、赤、黄色など)。単語をダブルクリックすると、ドロップダウンが選択したテキストに置き換わります。ドロップダウンには、使用可能なすべての色(青、赤、黄色)が含まれます。その後、値を選択すると、ドロップダウンが消え、テキストに新しい値が表示されます。

これまでのところ、私はこれを手に入れました:

$(function () {
    $('.colorGrid').dblclick(function () {
         debugger;
        $(this).html("<select class=\"resultMenu\" id=\"resultMenuID\" size=\"1\"></select>");
        $(this).children("select").append('<option value=1>Black</option>');
        $(this).children("select").append('<option value=2>Red</option>');
        $(this).children("select").append('<option value=3>Blue</option>');
        $(this).children("select").append('<option value=4>Yellow</option>');
    });
    $('#resultMenuID').change(function (event) {
        debugger;
        $(this).html("<td>test</td>");
    });
});

私は私の目標に近づいています。次に、選択した結果をtdタグに戻す必要があり、選択が消える必要があります。変更選択関数が呼び出されることはありません。誰かが理由を知っていますか?

4

1 に答える 1

1

+15秒かかる場合は、間違いなくAJAXまたはhardcoding the dropdownvalues in javascript strings.

MrOBrianが言ったように、私はあなたの1行か2行の問題だけに基づいてコードを提供することはできません。ここから解決策を得るには、既存の問題コードをアップロードする必要があります。しかし、私はあなたにアイデアを与えることができます。

これがあなたのカラーブロックだと言ってください

<div id="colour-block-list">
    <div id="red-block" class="colour-block">
    Red
    </div>
</div>

onclickハンドラーを追加する必要があります。

$(".colour-block").click(function(){

  //call your ajax or get values from hard coded javascript string
   $(this).html("<select></select>");
   $(this).children("select").append(list_of_options);


});
于 2012-08-01T21:36:07.247 に答える