1

私は次のコードを持っています

<a  href="#example" id="showtext">view text</a>

    $("#showtext").click (function () {
        $.post('/app/foo/bar/1', function (data){
           $("#msg").html(data);
        });
        $('#example').modal()
    });

view textクリックすると、投稿リクエストが送信され、/app/foo/bar/1そのデータがidのdivに入れられます#msgidsこれはすべて正常に機能していますが、このURLとは異なるもの(たとえば、/app/foo/bar/2または/app/foo/bar/3など)を渡すことができるようにしたいと思います。

これを達成するための良い方法は何ですか?

私が考えた1つの方法は、次のようにIDを属性に追加することです。

<a href="#example" id="showtext${id}">view text</a>

id次に、正規表現を使用してjQueryで解析します。ただし、このアプローチは厄介なようです。これを達成するためのよりエレガントな方法はありますか?

4

1 に答える 1

5

属性をそのままにしておく必要がある場合は、代わりに属性hrefを使用できます。data

<a href="#example" id="showtext" data-url="/app/foo/bar/2">view text</a>
$("#showtext").click(function() {
    $.post(
        $(this).data('url'), 
        function(data) {
            $("#msg").html(data);
        }
    );
    $('#example').modal()
});

または、私が述べたように、あなたは:を使うことができhrefます

<a href="/app/foo/bar/2" id="showtext">view text</a>
$("#showtext").click(function(e) {
    e.preventDefault(); // prevent the link being followed normally
    $.post(
        $(this).prop('href'), 
        function(data) {
            $("#msg").html(data);
        }
    );
    $('#example').modal()
});
于 2013-01-09T15:56:47.937 に答える