.data()를 사용하여 양식에서 변수를 설정하려고하는데 변수 "fee"에 대한 출력을 얻을 수 없어 작동하지 않습니다. 공백. 이상적으로 사용자는 유형을 선택하고 푸티지를 입력 한 다음 25 % 또는 50 %를 선택합니다. 각 백분율은 선택한 유형 (hp 또는 lp)에 대한 다른 데이터 항목에 연결됩니다. 그런 다음 선택된 데이터 유형이 data() 선택기에 연결되어 "fee"값을 추출합니다. 이 변수를 제외하고 다른 모든 변수를 표시 할 수 있으므로이 변수가 잘못 될 수 있다고 생각합니다. 나는 내가 뭘 잘못하고 있는지 모르겠어 그래서 어떤 입력 크게 감사하겠습니다! 감사! 여기 .data()를 사용하여 변수 설정
는 JSFiddle입니다 - http://jsfiddle.net/gv0029/g78bG/2/HTML :
<select class="pSelectP" id="pPost_D">
<option value="select">Type</option>
<option data-hp="5" data-lp="2" value="Type 1">Type 1</option>
</select>
<br/>
<input id="pPost_F" class="pSelectQ" placeholder="Footage" />
<br/>
<select id="pPost_P" placeholder="Percentage">
<option value="lp">25%</option>
<option value="hp">50%</option>
</select>
<br/>
<input id="pPost_C" placeholder="Cost" />
<br/>
<input id="pPost_A" placeholder="Total" />
JS :
$(document.body).on('keypress keydown keyup change', '[class="pSelectP"] , [class="pSelectQ"]', function() {
if ($('#manualOverrideNo').prop('checked')) {
var parts = $(this).attr('id').split("_"),
service = parts[0],
footage = parseFloat($("#" + service + "_F").val(),
10),
percentage = $("#" + service + "_P").val(),
fee = parseFloat($("#" + service + "_D").data("'" +
percentage + "'"), 10),
cost = $("#" + service + "_C"),
amount = '',
finalAmount = '';
if (isNaN(footage)) {
total.val("Please enter Quantity");
}
if (!isNaN(footage) && (!isNaN(Number(fee)))) {
amount = Math.ceil(footage * fee);
total.val(amount);
cost.val(fee);
}
}
});
"manualOverrideNo"라는 요소가 누락되었습니다. 또한 parseFloat는 두 개의 인수를 취하지 않습니다 – HapiDjus
Doh. 내가 수동 JSFiddle을 만들었을 때 ManualOverrideNo를 꺼내는 걸 깜빡했는데 그건 문제가되지 않습니다. 그래도 지적 해 주셔서 감사합니다. 그리고 parseFloat가 두 번째 인수와 함께 사용되어 기본 번호가 사용되도록 설정되었다고 생각 했습니까? 그것은 내가 오래 전부터이 일을 해오지 않았음에도 불구하고 내가 말했던 것과 내가 항상 그것을 어떻게 사용 했는가였습니다. – mario
parseInt는 두 번째 인수를 취할 수 있습니다. http://www.w3schools.com/jsref/jsref_parseint.asp – HapiDjus