actionlink
の属性をjqueryに取得するにはどうすればよいですか?jqueryへのactionlinkの属性の取得
@Html.ActionLink("Edit contact", "Edit", "Contact", new { Area = "Customers", contactId = -1 }, new { @id="EditContact", @class = "btn btn-info" })
連絡先を押したときにcontactId
を動的に更新したいとします。
$(document).on('click', '#contacts .list-group-item', function(e) {
var id = (this.id);
var elem = $('#EditContact');
var newUrl = elem.prop('href').replace('-1', id);
elem.prop('href', newUrl);
});
このコードは機能しますが、-1が変更されるため1回限り有効です。だから私はcontactId
を収集し、それを変数として保存する必要があります。
$(document).on('click', '#contacts .list-group-item', function(e) {
var id = (this.id);
var elem = $('#EditContact');
var oldId = elem.attr('contactId');
var newUrl = elem.prop('href').replace('oldId', id);
elem.prop('href', newUrl);
});
私はこれを試しましたが、oldId
は未定義です。 contactId
を入手するにはどうすればよいですか?
最初の解決策では、 '?contactId'部分を' href'属性に追加しています。別のリスト項目をクリックすると、これをもう一度追加すると無効なURLになります。しかし、あなたの2番目の解決策は正しいです:) – QuantumHive
いいえ私はcontactIdを追加しています、それはベースURL(私は(私は経路の値で連絡先IDを渡さなかった)の連絡先IDを持っていないと私はないこの新しいURLを使用してリンクのhref値を更新しています。(同じURL(連絡先IDのないベースURL)のクエリ文字列)そのままの状態にしておきましょう – Shyju
これはうまくいきません。 .href'、私はその部分を読んできましたが、OPは質問の例でhtml要素のhrefを設定していますので、ベースURLをいくつかの 'data- * '属性、例えば彼の編集アクションリンク。 – QuantumHive