2017-05-18 8 views
0

#product_detail의 값을 데이터 이름 = 값으로 채우는 JQuery 함수가 있습니다. 두 번째 시도에서 처음 시도했을 때 처음으로 값을 검사 할 때만 첫 번째 값만 표시합니다. data-name에있는 elemen은 두 번째 값입니다.JQuery는 첫 번째 값만 표시합니다.

// 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>

+2

당신의 ID가 JQuery와의 전화 (그들 중 하나 이상의 HTML에서 동일하지 않습니다) – David

+0

데이터 속성을 설정하는 경우 attr이 아닌'data ("name", productname)'을 사용하십시오 - http://stackoverflow.com/questions/9444679/jquery-data-vs-attrdata. Atrtibute는 html의 속성 만 업데이트하고 실제 데이터 값은 업데이트하지 않습니다. – Pete

+0

내 질문이 업데이트되었습니다. –

답변

0

를 사용할 수있는 '#product_details'의 데이터 이름을 얻으려면 :

여기 내 HTML 코드입니다 코드 .. onchange 대신 change 이벤트를 사용하십시오. $("#product_detail").attr("data-name", productname); ~ $("#product_detail").data("name", productname);

참고 : onchange="fillspan(this.value)"뿐만 아니라 대신 의 작동 change 이벤트는하지만, 그것은 당신에게 데이터 속성 온로드 (를 업데이트 할 수있는 기회를 제공하지 않습니다 그래서 이것은 그것에 대해 내 개인 정보 전에 나는 그것을 시도하지 않았다)

$(document).ready(function(){ 
 
    $('select').on('change' , function(){ 
 
     var get_Value = $(this).val(); 
 
     fillspan(get_Value); 
 
    }).change(); // by adding .change() here this will make the change event run onload .. if no need to run it onload you can remove it 
 
}); 
 

 

 
// here's my button that to alert 
 
function fillspan(productname) { 
 
    $("#product_detail").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> 
 
    <option value="value1">Value1</option> 
 
    <option value="value2">Value2</option> 
 
</select> 
 

 
<span id="product_detail"></span> 
 

 
<button onclick="showitems()">Click</button>

0

당신이 사용할 수 있습니다 난 당신의 지점을 가지고있는 경우가 $("#detail_product").attr("data-name");

+0

답변 섹션에 코멘트를 남기지 마십시오. 예, 의견을 추가 할 담당자가 충분하지 않다고 생각하지만 기다리지 말고 정말로 대답하고 싶다면 용어 * 대답 *을 정당화하는 방식으로 대답하십시오. – Rajesh

+0

내 질문이 업데이트되었습니다. –

관련 문제