【问题标题】:Multiply value on input [type='number'] by 250将输入 [type='number'] 上的值乘以 250
【发布时间】:2013-07-26 09:07:30
【问题描述】:

我需要一个 input [type='number'] 将其数量乘以 250 的值。 我想要与this one 类似的情况...我尝试使用此链接上的代码,但由于我使用的是input [type='number'],因此这些值根本没有更新!

有谁知道如何使用这种inputJquery 来工作?

提前致谢

【问题讨论】:

  • 你能把你的代码贴在这里吗?
  • 向我们展示你现在拥有的东西
  • 请记住,您需要将链接问题的答案放入闭包中,例如:$(document).ready(function() { [logic] });
  • “不同的输入类型”是什么意思?除非您告诉我们很难帮助您。

标签: jquery input multiplication


【解决方案1】:

工作演示http://jsfiddle.net/cse_tushar/g9fUf/

如果您对readonly 有疑问,则可以使用disabled

<input type="text" id="output-value" disabled/>

HTML

<input type="number" id="input-value" />
<input type="text" id="output-value" readonly />

js

var $output = $("#output-value");
$("#input-value").keyup(function() {
    var value = parseFloat($(this).val());
    $output.val(value*250);
});

【讨论】:

  • 我想要这样的东西。我检查了演示,但只读字段没有更新值!!!!
  • 检查我是否进行了更改
  • 您不能使用disabled 代替readonlyreadonly 是随请求一起发送的,而 disabled 不是。那不是等价的属性!
  • 他只需要计算值并且他没有使用只读,因为他需要通过脚本而不是客户端更改值。
【解决方案2】:

您需要为此添加change 事件:

$("input").on("change keyup", function () {
    var value = parseInt(this.value, 10);
    this.value = value * 250;
});

假设input 是这样的标签:

<input type="number" />

演示:http://jsfiddle.net/hungerpain/VzysM/1/

注意:我添加了keyup,以防有人键入数字而不是使用范围选择器。

【讨论】:

    【解决方案3】:

    在输入类型的焦点输出上尝试此代码获取值并相乘。然后设置该值。

    $("#id").focusout(function(){
        var value = $("#id").val() *250;
    })
    

    【讨论】:

    • 非常感谢您的评论。我需要在另一个输入中更新的值,而不是在同一个输入中。! :)
    • 所以在那个输入类型 id 中设置这个值
    【解决方案4】:

    试试这个

    <input id="field1" type="number" />
    <input id="field2" type="number" />
    

    脚本:

    $(document).ready(function(){
        $("#field1").keyup(function() { 
        var input_value = parseFloat($("#field1").val());     
        $("#field2").val(input_value * 250);   
    });
    });
    

    【讨论】:

      【解决方案5】:

      如果是普通文本输入,您可以使用:

      $("#input1").keyup(function(){
       var input1 = parseInt($("#input1").val());
       if(!isNaN(input1)){
           $("#input2").val(input1 * 250);
       }
       else{
           $("#input2").val("");
           alert("Please enter a valid number");
       }
      });
      

      在这里工作:http://jsfiddle.net/aL6cP/2/

      【讨论】:

        【解决方案6】:

        非常感谢所有帮助过我的人!!!我找到了一个解决方案...我已经合并了饥饿痛和 Tushar Gupta 的解决方案,它可以按我的意愿工作!!!!!! :)

        我想与解决方案分享一个小提琴,但没有成功... Stackoverflow 对我来说它给了我一个错误!!!

        所以最后的代码是:

        var $output = $("#output-value");
        $("#input-value").on("change keyup", function () {
            var value = parseFloat($(this).val());
            $output.val(value*250);
        });
        
        <input type="number" id="input-value" />
        <input type="text" id="output-value" readonly />
        

        【讨论】:

          猜你喜欢
          • 2017-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-29
          • 1970-01-01
          相关资源
          最近更新 更多