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