除非手动输入表单

时间:2017-01-30 13:45:25

标签: javascript jquery html slider

我试图解决这个问题几天,当我使用滑块选择一个值并点击引号时,除非我点击表单并点击一个键或键盘,否则值不会被保存,然后,当我点击报价时,它们会被保存并显示出来。我不明白我做错了什么,请帮忙。这真是令人头痛。

https://jsfiddle.net/p58s0dpr/

所有相关代码都在html标签中,js是一个来自loopj.com的简单滑块。

<script>
        $("[data-slider]")
            .each(function () {
            var input = $(this);
            //$("<span>")
            //  .addClass("output")
            //  .insertAfter($(this));
            })
            .bind("slider:ready slider:changed", function (event, data) {
            $(this)
                $("#bitcoin").val(data.value.toFixed(6));
                $("#cad").val(((data.value.toPrecision(4)*1209.60).toFixed(2)));
            });
            </script>

<input id="bitcoin" type="form" placeholder="0.002 to 0.08" maxlength="8" pattern="\d*\.\d*" onchange="bitcoinCheck(this);">Bitcoin</input>

                <script>
                    function bitcoinCheck(input) {
                        if (input.value < 0.002) input.value = 0.002;
                        if (input.value > 0.08) input.value = 0.08;
                    }
                </script>

<p id="btc-amount">

                <script>
                    document.getElementById('bitcoin').onkeyup = function() {
                    if (this.value < 0.002) this.value = 0.002;
                    if (this.value > 0.08) this.value = 0.08;
                    var bitcoin = (this.value);
                    document.getElementById("btc-amount").innerHTML = "BTC amount requested: " +bitcoin;
                    }
                </script>

            </p>

1 个答案:

答案 0 :(得分:0)

var strs = ["Hello Mr. 3367", "6576567 55", "3432 abc", "3333333", "ending in...4454", "Hello Mr. Khan", "One Two Three", "ABCSDS" ]; strs.forEach(function(s){ console.log(s + " : " + /\d+/.test(s)); });听取密钥发布;这就是您在使用键盘时更新值的原因。

您需要在报价按钮上附加点击事件,以获取所需的行为。这可以通过jQuery完成:

onkeyup