我有以下代碼:parseInt當它應該是一個數字時返回NaN?
$(function() {
var $form = $("#pollAnswers"),
$radioOptions = $form.find("input[type='radio']"),
$existingDataWrapper = $(".web-app-item-data"),
$webAppItemName = $existingDataWrapper.data("item-name"),
$formButton = $form.find("button");
$radioOptions.on("change",function(){
$formButton.removeAttr("disabled");
var chosenField = $(this).data("field"),
answer_1 = parseInt($existingDataWrapper.data("answer-1")),
answer_2 = parseInt($existingDataWrapper.data("answer-2")),
answer_3 = parseInt($existingDataWrapper.data("answer-3"));
console.log("1 =" + answer_1);
console.log("2 =" + answer_2);
console.log("3 =" + answer_3);
//Additional code not related to question
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="web-app-item-data" data-item-name="Test" data-answer-1="0" data-answer-2="0" data-answer-3="0"></div>
<form id="pollAnswers">
<div class="answers">
<input type="radio" name="radioChoice" data-field="CAT_Custom_2"> Answer 1<br>
<input type="radio" name="radioChoice" data-field="CAT_Custom_4"> Answer 2<br>
<input type="radio" name="radioChoice" data-field="CAT_Custom_6"> Answer 3<br>
</div>
<button type="submit" disabled>Submit</button>
</form>
當您運行的代碼,你會在你的控制檯答案1,2和3看到所有返回NaN
。
更新:
查理的H評論所指出的,如果我刪除parseInt
返回undefined
。
我沒有看到代碼中的錯誤,爲什麼它沒有從div中提取數據屬性值。
我怎麼解決這個問題呢?
* existingDataWrapper.data(「answer-1」)*給你沒有parseInt的是什麼 –
@CharlieH - undefined是它給我的。 jQuery拉取數據屬性有什麼不正確嗎? – L84