2017-05-12 4 views
0

私はdata-controller-nameにテーブル識別子を動的に生成するテーブルを持っています。これは、私のページのソースでどのように見えるかです:JavaScript:AJAXコールバックURLのアクセステーブルID

<table data-controller-name="campaigns_index" cellpadding="0" cellspacing="0" border="0" 
    class="table table-striped table-bordered table-hover" width="100%" 
    data-source="/en/campaigns.json"> 

次にJavaScriptで私がURLを生成する際にそのdata-controller-name値、例えば、campaigns_indexにアクセスしたいと思います:

"stateSaveCallback": function (settings, data) { 
    $.ajax({ 
     "url": "/datatables_states/[data-controller-name].json", 
     "data": data, 
     "dataType": "json", 
     "type": "PATCH", 
     "success": function() {} 
    }); 
    } 

私はDatatables stateSaveCallbackのためにこれを必要とします。

URLはそのまま渡されるため、動作していません。campaigns_index.jsonどうすればいいですか?私はいくつかの変数を持っていなければならないと仮定して、正しくURLを生成するために使用することができます。ありがとうございました!

+0

使用しない場合は、最も可能性の高い設定機能は、テーブルのセレクタを持っていますjqueryを使用すると、ページ上にdatatableが1つしかないと仮定して属性を取得する – madalinivascu

+0

「$(table).attr( 'data-controller-name')」を使用して値を取得し、urlの値を使用する方法は? – treesong

答えて

2

あなたのテーブルのidを与える:

<table id="camptable" data-controller-name="campaigns_index" cellpadding="0" cellspacing="0" border="0" 
    class="table table-striped table-bordered table-hover" width="100%" 
    data-source="/en/campaigns.json"> 

を次にAjaxは次のようになります。

var camp = $("#camptable").attr('data-controller-name'); 
"stateSaveCallback": function (settings, data) { 
$.ajax({ 
    "url": "/datatables_states/"+camp+".json", 
    "data": data, 
    "dataType": "json", 
    "type": "PATCH", 
    "success": function() {} 
}); 

}

+0

大丈夫ですが、私のURLはそのままですか? – matiss

+0

今私はそれを参照してください、あなたに感謝 – matiss

+0

素敵な、魅力のように動作します:)ありがとう! – matiss

関連する問題