HTML5 范围输入值在引导弹出窗口中没有变化
HTML5 range input value is not changing inside Bootstrap popover
>我在引导波普尔中有 html5 范围输入滑块,当我更改滑块时,我一直得到相同的值,我可以滑动范围滑块,但我无法获取更改的值
当我有相同的范围滑块时,它的容器中没有display:none
它运行良好,对我来说很奇怪
.HTML:
<div id="volume-popover" style="display:none;">
<input type="range" id="volume-bar" class="volume-bar" step="0.1" value="5" style="display:block;">
</div>
<div class="volume-up">
<button type="button" class="btn btn-default volume-btn" data-toggle="popover">Hello</button>
</div>
.JS:
$(function () {
var volumeBar = $("#volume-bar");
var popOverSettings_volume = {
placement: 'bottom',
container: '.volume-up',
html: true,
trigger: "manual",
selector: '.volume-btn',
content: function () {
return $('#volume-popover').html();
}
}
$('.volume-btn').popover(popOverSettings_volume).on("mouseenter", function () {
var _this = this;
$(this).popover("show");
$(this).siblings(".popover").on("mouseleave", function () {
$(_this).popover('hide');
});
}).on("mouseleave", function () {
var _this = this;
setTimeout(function () {
if (!$(".popover:hover").length) {
$(_this).popover("hide")
}
}, 100);
});
$('body').delegate(volumeBar, 'change', function () {
console.log(volumeBar.val());
});
});
小提琴:更新的小提琴
你克隆的html没有得到更新的值,你必须得到弹出框的值。尝试将以下代码更新到您的 JS:
$('body').delegate(volumeBar, 'change', function(evt) {
console.log($(".popover .volume-bar").val());
});
还有一件事,当您将 html 克隆到弹出框中时,它会将相同的 ID 附加到弹出窗口中,您在开始时已经提供给源div。所以总的来说,再次使用相同的id并不是一个好主意。所以我认为你可以参考这个小提琴,如果你觉得它适合你的要求,你可以这样使用:小提琴
相关文章:
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- 链接中有php变量的Javascript打开窗口
- 有没有一种方法可以检测何时触发了溢出-y:auto,并因此创建一个弹出窗口
- 如何在呈现页面后使用 Java 脚本检测 dom 元素值的值是否有任何变化(例如,任何输入或复选框值更改)
- 为什么 HTML 文本字段的值在有逗号时会发生变化
- 鼠标悬停弹出窗口,但有延迟
- 有没有更好的方法来处理窗口属性&React/Redux中的子组件
- 窗口有什么用
- 使用未知数量的案例进行切换 - 略有变化的默认情况
- 剑道网格有变化,如何处理只读网格
- 弹出窗口有一个断开的图像链接
- Jquery可点击音频滑块,在窗口宽度变化时出错
- backbone.js:自上次服务器保存以来有变化吗
- 如何打开新的web浏览器,而不是在点击链接时弹出,该链接与父窗口有单独的http会话
- 如果文本框中有变化,则模糊
- 如何组合两个相似的脚本,并在略有变化的情况下运行它
- 检查窗口大小是否有变化和性能/优化
- 如何知道日期是否有变化的日期picker jQuery
- 打开新窗口(子窗口),并刷新父窗口......有时间延迟
- 当有变化时,自动更新所有用户的HTML dom