자기가 작성한 쿼리 기능을 구현하려하고 있습니다. 함수에 대한 간단한 설명 : 라디오 버튼을 변경할 때 두 값을 다시 계산해야합니다. JSFiddle에서 작업 중입니다. (http://jsfiddle.net/VL465/34/)jquery 함수 입력 라디오 onchange
하지만 지금은 실제 웹 페이지에서 구현하려고합니다. 하지만 실제로는 제대로 작동하지 않습니다. 디버깅을 시도했지만 보류 상태로 갈아 타지 않았습니다.
현재 콘솔에는 "기능로드 됨"메시지 만 표시됩니다. 라디오 버튼을 변경하면 인식 된 요일이 표시되지 않습니다. 난이 머리에
:
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script>
<script type="text/javascript" src="/js/functions.js"></script>
형태가 정확히 동일합니다
나 현재 HTML 파일을 명확히하자
<form action="/b/" method="POST" id="choseLessor">
<fieldset>
<input type="hidden" name="userLocale" value="en">
<ul>
<li><span class="rate"> € 21,29</span> <span class="note">starting at </span><span class="radio"></span><input type="radio" class="styled" name="days" value="30" data-price="21.29"><b>30 days </b></li>
<li><span class="rate"> € 23,65</span> <span class="note">starting at </span><span class="radio" style="background-position: 0px -50px;"></span><input type="radio" class="styled" name="days" value="60" data-price="23.65" checked=""><b>60 days </b></li>
<li><span class="rate"> € 26,02</span> <span class="note">starting at </span><span class="radio"></span><input type="radio" class="styled" name="days" value="90" data-price="26.02"><b>90 days </b></li>
<li><span class="rate"> € 27,20</span> <span class="note">starting at </span><span class="radio"></span><input type="radio" class="styled" name="days" value="120" data-price="27.2"><b>120 days </b></li>
</ul>
<div class="priceCalculation">
<div class="list">
<span class="type">List Price:</span>
<span class="retailPriceActual">
<div class="strikethrough">€ 49,93</div>
</span>
</div>
<div class="savings">
<span class="type">Your Savings:</span>
<span class="bookSavings" id="CalculateSavings">€ 26,28</span>
</div>
<div class="total">
<span class="type bigger">Your Price:</span>
<span class="totalPrice" id="CalculatePrice">€ 23,65</span>
</div>
</div>
<input type="submit" value="Cho" class="btn">
</fieldset>
</form>
그리고 functions.js의 내용
$(document).ready(function() {
console.log ('Function loaded');
$("input[name=days]:radio").change(function() {
console.log ('Days recognized');
// get values
var savingPrice = 0;
var msrp = $('input[name="msrp"]').val();
var periodPrice = $('input[name="days"]:checked').data('price');
var userLocale = $('input[name="userLocale"]').val();
console.log ('UserLocale' + userLocale);
// calculate bac
savingPrice = (msrp-periodPrice).toFixed(2);
if(userLocale === 'nl')
{
savingPrice = savingPrice.replace(/\./g, ',');
periodPrice = periodPrice.replace(/\./g, ',');
}
$('#CalculateSavings').text('€ ' + savingPrice);
$('#CalculatePrice').text('€ ' + periodPrice);
});
});
콘솔이 표시됩니다 :
Function loaded
그리고 라디오 버튼이 변경되지 않은 경우에도 이보다 더 많지 않습니다.
내가 뭘 잘못하고 있니?
바이올린 작동하지 않습니다. onload 내에 $ (document) .load를 가질 수 없습니다. 이 작품 : http://jsfiddle.net/mplungjan/PXCrF/ - 왜 이전 jQuery btw? 또한 .text()가 엔티티와 작동하지 않습니다 – mplungjan
'script'요소를 머리에 넣는 대신 몸체의 아래쪽으로 옮겨 보았습니까? –
콘솔에 함수가로드 된 것으로 표시되면 스크립트가 분명히 실행되고 이동하지 않아도됩니다. Peter : 실제 페이지에 동일한 ID가있는 입력란이 더 있습니까? 아마도 – mplungjan