jQuery结果不在字段中显示

时间:2014-02-19 14:29:17

标签: javascript jquery

出于某种原因,我无法使用id将此结果显示在字段中。它使用class工作正常,但它只是拒绝使用id

JSFiddle here http://jsfiddle.net/pbe4b/15/

工作正常:

<input id="button123" placeholder="number here"></input>
<span class="output123"></span>

不起作用:

<input id="button123" placeholder="number here"></input>
<input id="output123"></input>

会喜欢任何帮助!

7 个答案:

答案 0 :(得分:2)

使用

$('#output123').val()

而不是

$('#output123').html()

input是自我结束标记,因此您应该使用val()从中获取价值。

答案 1 :(得分:0)

它与类/ id无关,这是因为你更改了元素。

输入没有html(),您使用val()来设置值。

在没有复制和粘贴的情况下清理代码:

$('#button123').keyup(function(){
    var n = parseInt($(this).val(), 10);
    var calc;
    if(n <= 35000) {
        calc = n/100*70;
    } else if(n <= 45000) {
        calc = n/100*75;
    } else {
        calc = n/100*80;
    }
    var val = numberWithCommas(calc.toFixed(2));
    $('#output123').val(val);
});

答案 2 :(得分:0)

您已将范围更改为输入,因此.html()不再有效。选择器很好。将.html()的所有实例更改为.val()

<强> HTML:

<input id="button123" placeholder="number here"></input>
<input id="output123"></input>

<强> JavaScript的:

$('#button123').keyup(function(){
var n = parseInt($(this).val());

if(n <= 35000) {
    $('#output123').val(numberWithCommas((n/100*70).toFixed(2)));
}
else if(n <= 45000) {
    $('#output123').val(numberWithCommas((n/100*75).toFixed(2)));
}
else {
    $('#output123').val(numberWithCommas((n/100*80).toFixed(2)));
}
})
function numberWithCommas(x) {
    return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
}

JSFiddle Here

答案 3 :(得分:0)

http://jsfiddle.net/pbe4b/19/

Vals而不是HTML,因为它是输入

$('#button123').keyup(function(){
var n = parseInt($(this).val());

if(n <= 35000) {
    $('#output123').val(numberWithCommas((n/100*70).toFixed(2)));
}
else if(n <= 45000) {
    $('#output123').val(numberWithCommas((n/100*75).toFixed(2)));
}
else {
    $('#output123').val(numberWithCommas((n/100*80).toFixed(2)));
}
})
function numberWithCommas(x) {
    return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
}

答案 4 :(得分:0)

$('#button123').keyup(function(){
var n = parseInt($(this).val());

if(n <= 35000) {
    $('#output123').val(numberWithCommas((n/100*70).toFixed(2)));
}
else if(n <= 45000) {
    $('#output123').val(numberWithCommas((n/100*75).toFixed(2)));
}
else {
    $('#output123').val(numberWithCommas((n/100*80).toFixed(2)));
}
})
function numberWithCommas(x) {
    return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
}`enter code here`

答案 5 :(得分:0)

使用$('#output123').val()设置值。

答案 6 :(得分:0)

要设置输入,请使用:

JS:

document.getElementById('output123').value = 'my value';

jQuery的:

$('#output123').val('my value');

.html用于替换项目的内部内容,在输入的情况下,您需要更改属性。