私のRails 5アプリでは、ユーザをその場所に基づいてサイトの特定の部分に誘導する動的メニューを構築しています。彼らがホームページからメニューアイテムをクリックすると、私たちが納品する4つの場所の1つを選択するモーダルが表示されます。次に、clickメソッドを使用する関数は、データ属性を取得し、URLパスに挿入してリダイレクトする必要があります。ハードコーディングされたとしても、データ属性が通過するようには見えない - 私はただコンソールで定義されていない。
ここではモーダルコードは含まれていません。これは問題ではないためです。コンソールのように、パスに/ undefined/undefined /を挿入して挿入します。私の問題は、this
データ値を取得することです。
自体に_sidebar.html.erb
<div id="ss_menu">
<% @cat.each do |c| %>
<div class="ss_button"><%= c.name %></div>
<div class="ss_content">
<ul>
<% c.subcategories.each do |s| %>
<li>
<a href="#"
data-id="<%= s.id %>"
data-category="<%= c.slug %>"
data-subcategory="<%= s.slug %>"
data-toggle="modal"
data-target=".mlc-modal"><%= s.name %></a>
</li>
<% end %>
</ul>
</div>
<% end %>
</div>
スクリプト
<script type="text/javascript" charset="utf-8">
$(document).on("click", ".ss_button", function() {
var id = $(this).data('id');
var category = $(id).data('category');
var subcategory = $(id).data('subcategory');
console.log(id);
console.log(category);
console.log(subcategory);
$('.modal-content a').attr('href', function() {
return this.href + category + '/' + subcategory;
});
});
</script>
'var id = $(this).data( 'id');' 'ss_button'要素は' data-id'属性を持たないため、常に定義されません –
私の部分では間違ったミス...答えを作成してください私が受け入れるために。ありがとうございました。 –