[英]How do I input data attribute values with multiple classes to a div after button click?
What I'm trying to achieve is to append a paragraph tag with an added text value, depending on the choice the user make, based on a data attribute. 我要实现的目标是根据数据属性,根据用户做出的选择,在段落标签中添加文本值。
However, the data attribute is within the same class and there is a total of 12 of these classes. 但是,数据属性在同一类中,并且总共有12个此类。
How do I differentiate the multiple values on button click? 如何区分单击按钮时的多个值?
Codepen: https://codepen.io/aahlfeeyann/pen/dzejOg Codepen: https ://codepen.io/aahlfeeyann/pen/dzejOg
<div class="container q1">
<div class="row"><button class="btn btn-card" data-messages="1A">1A</button></div>
<div class="row"><button class="btn btn-card" data-messages="1B">1B</button></div>
<div class="row"><button class="btn btn-card" data-messages="1C">1C</button></div>
<div class="row"><button class="btn btn-card" data-messages="1D">1D</button></div>
</div>
<div class="container q2">
<div class="row"><button class="btn btn-card" data-messages="2A">2A</button></div>
<div class="row"><button class="btn btn-card" data-messages="2B">2B</button></div>
<div class="row"><button class="btn btn-card" data-messages="2C">2C</button></div>
<div class="row"><button class="btn btn-card" data-messages="2D">2D</button></div>
</div>
<div class="container q3">
<div class="row"><button class="btn btn-card" data-messages="3A">3A</button></div>
<div class="row"><button class="btn btn-card" data-messages="3B">3B</button></div>
<div class="row"><button class="btn btn-card" data-messages="3C">3C</button></div>
<div class="row"><button class="btn btn-card" data-messages="3D">3D</button></div>
</div>
// Message to Preview
var buttonMessage = $('.btn-card').data('messages');
$('.btn-card').click(function(){
console.log(buttonMessage);
$('#messageOne').append(buttonMessage);
})
Move your variable to inside the click
function, and use $(this)
to get the data attribute of the clicked element. 将变量移到
click
函数内部,然后使用$(this)
获取clicked元素的data属性。
$('.btn-card').click(function() { var buttonMessage = $(this).data('messages'); console.log(buttonMessage); $('#messageOne').append(buttonMessage); })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container q1"> <div class="row"><button class="btn btn-card" data-messages="1A">1A</button></div> <div class="row"><button class="btn btn-card" data-messages="1B">1B</button></div> <div class="row"><button class="btn btn-card" data-messages="1C">1C</button></div> <div class="row"><button class="btn btn-card" data-messages="1D">1D</button></div> </div> <div class="container q2"> <div class="row"><button class="btn btn-card" data-messages="2A">2A</button></div> <div class="row"><button class="btn btn-card" data-messages="2B">2B</button></div> <div class="row"><button class="btn btn-card" data-messages="2C">2C</button></div> <div class="row"><button class="btn btn-card" data-messages="2D">2D</button></div> </div> <div class="container q3"> <div class="row"><button class="btn btn-card" data-messages="3A">3A</button></div> <div class="row"><button class="btn btn-card" data-messages="3B">3B</button></div> <div class="row"><button class="btn btn-card" data-messages="3C">3C</button></div> <div class="row"><button class="btn btn-card" data-messages="3D">3D</button></div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.