通过其父 div id 获取输入值
get input value through its parent div id
我有以下标记:
(function( $ ) {
'use strict';
function format_number_two_decimal(number) {
return parseFloat(Math.round(number * 100) / 100).toFixed(2);
}
function calculartotal(){
var importe_neto = document.getElementById("acf-field_58c13e2ed4e42").value;
var importe_total = importe_neto * 1.21;
importe_total = format_number_two_decimal( importe_total) ;
$("input#acf-field_58c142a090f58").val( importe_total );
$("input#acf-field_58c13e2ed4e42").val( format_number_two_decimal( importe_neto ) );
//debug purposes
console.log( importe_neto );
};
$(document).on('change', 'input#acf-field_58c13e2ed4e42', function () {
calculartotal();
});
/**
* on page load
*/
$(function(){
calculartotal();
});
})( jQuery );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="fac_importe_neto" class="acf-field acf-field-number acf-field-58c13e2ed4e42" data-name="fac_importe_neto" data-type="number" data-key="field_58c13e2ed4e42">
<div class="acf-label">
<label for="acf-field_58c13e2ed4e42">Importe neto</label>
</div>
<div class="acf-input">
<div class="acf-input-wrap"><input type="number" id="acf-field_58c13e2ed4e42" class="acf-is-appended" min="" max="" step="any" name="acf[field_58c13e2ed4e42]" value="" placeholder=""></div>
</div>
</div>
<div id="fac_importe_total" class="acf-field acf-field-number acf-field-58c142a090f58" data-name="fac_importe_total" data-type="number" data-key="field_58c142a090f58">
<div class="acf-label">
<label for="acf-field_58c142a090f58">Importe total</label>
</div>
<div class="acf-input">
<div class="acf-input-wrap"><input type="number" id="acf-field_58c142a090f58" class="acf-is-appended" min="" max="" step="any" name="acf[field_58c142a090f58]" value="" placeholder=""></div>
</div>
</div>
它就像一个魅力,但我想在整个脚本中完全删除对我的框架自动生成的数字 ID 的引用(即 acf-field_58c142a090f58),而是使用更多语义 ID(由我)。
注意:该框架不允许我在输入字段中放置语义 ID,因此...
我试图使用父 div id,实际上我可以控制哪个名称,即 "fac_importe_neto" 如下:
var importe_neto = $("#fac_importe_neto").find("input").value;
没有成功...我错过了什么?
尝试继续使用 jquery 和 val()
:
var importe_neto = $("#fac_importe_neto").find("input").val();
您在 jquery
中使用 javascript
var importe_neto = $("#fac_importe_neto").find("input").val();
如果我们想使用 .value 需要应用 .get() 方法如下:
var importe_neto = $("#fac_importe_neto").find("input").get(0).value;
我有以下标记:
(function( $ ) {
'use strict';
function format_number_two_decimal(number) {
return parseFloat(Math.round(number * 100) / 100).toFixed(2);
}
function calculartotal(){
var importe_neto = document.getElementById("acf-field_58c13e2ed4e42").value;
var importe_total = importe_neto * 1.21;
importe_total = format_number_two_decimal( importe_total) ;
$("input#acf-field_58c142a090f58").val( importe_total );
$("input#acf-field_58c13e2ed4e42").val( format_number_two_decimal( importe_neto ) );
//debug purposes
console.log( importe_neto );
};
$(document).on('change', 'input#acf-field_58c13e2ed4e42', function () {
calculartotal();
});
/**
* on page load
*/
$(function(){
calculartotal();
});
})( jQuery );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="fac_importe_neto" class="acf-field acf-field-number acf-field-58c13e2ed4e42" data-name="fac_importe_neto" data-type="number" data-key="field_58c13e2ed4e42">
<div class="acf-label">
<label for="acf-field_58c13e2ed4e42">Importe neto</label>
</div>
<div class="acf-input">
<div class="acf-input-wrap"><input type="number" id="acf-field_58c13e2ed4e42" class="acf-is-appended" min="" max="" step="any" name="acf[field_58c13e2ed4e42]" value="" placeholder=""></div>
</div>
</div>
<div id="fac_importe_total" class="acf-field acf-field-number acf-field-58c142a090f58" data-name="fac_importe_total" data-type="number" data-key="field_58c142a090f58">
<div class="acf-label">
<label for="acf-field_58c142a090f58">Importe total</label>
</div>
<div class="acf-input">
<div class="acf-input-wrap"><input type="number" id="acf-field_58c142a090f58" class="acf-is-appended" min="" max="" step="any" name="acf[field_58c142a090f58]" value="" placeholder=""></div>
</div>
</div>
它就像一个魅力,但我想在整个脚本中完全删除对我的框架自动生成的数字 ID 的引用(即 acf-field_58c142a090f58),而是使用更多语义 ID(由我)。
注意:该框架不允许我在输入字段中放置语义 ID,因此...
我试图使用父 div id,实际上我可以控制哪个名称,即 "fac_importe_neto" 如下:
var importe_neto = $("#fac_importe_neto").find("input").value;
没有成功...我错过了什么?
尝试继续使用 jquery 和 val()
:
var importe_neto = $("#fac_importe_neto").find("input").val();
您在 jquery
中使用 javascriptvar importe_neto = $("#fac_importe_neto").find("input").val();
如果我们想使用 .value 需要应用 .get() 方法如下:
var importe_neto = $("#fac_importe_neto").find("input").get(0).value;