#product_detailの値をdata-name = valueで満たすJQuery関数があります。これは2度目の試行で初めて成功しました。検査しても最初の値しか表示されませんデータ名の要素は2番目の値です。JQueryのみ最初の値を表示
ここに私のHTMLコードがあります:
// here's my button that to alert
function fillspan(productname) {
$("#product_detail").attr("data-name", productname);
}
//the problem
function showitems() {
var name = $("#product_detail").data("name");
alert(name);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select onchange="fillspan(this.value)">
<option value="value1">Value1</option>
<option value="value2">Value2</option>
</select>
<span id="product_detail"></span>
<button onclick="showitems()">Click</button>
あなたのidはjqueryの内コール(そのうちの1以上のhtmlで同じではありません) – David
データ属性を設定している場合、attrではなく 'data(" name "、productname)'を使用してください - http://stackoverflow.com/questions/9444679/jquery-data-vs-attrdata Atrtibuteはhtmlの属性を更新するだけで、実際のデータ値は更新されません – Pete
私は質問を更新しました –