如何在jquery中动态更改旋钮值..?

时间:2014-09-17 09:45:45

标签: jquery html jquery-knob

我已经应用了一个带有readonly功能的jquery旋钮,如下所示:

<style>
.test{
    background: #292929;
    margin:50px;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://raw.github.com/aterrien/jQuery-Knob/master/js/jquery.knob.js"></script>
<body>

<input type="text" value="45%" class="dial"><button id="change">Change</button>
</body>
<script>
$(".dial").knob({
    readOnly: true,
    fgColor: "#00ABC6",
    bgColor: "#666666",
    thickness: 0.2
                });

$(document.body).on('click', 'button#change', function(){
    $("input.dial").val('80%');
    })
</script>

现在,当我点击更改按钮时,它只会更改输入标签的值,但无法更改旋钮填充区域的百分比。

2 个答案:

答案 0 :(得分:8)

在设置值后,只需在输入上触发更改事件,如:

$("input.dial").trigger('change');

您的代码如下:

<style>
.test{
    background: #292929;
    margin:50px;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://raw.github.com/aterrien/jQuery-Knob/master/js/jquery.knob.js"></script>
<body>

<input type="text" value="45%" class="dial"><button id="change">Change</button>
</body>
<script>
$(".dial").knob({
    readOnly: true,
    fgColor: "#00ABC6",
    bgColor: "#666666",
    thickness: 0.2
                });

$(document.body).on('click', 'button#change', function(){
    $("input.dial").val('80%');
    $("input.dial").trigger('change');
    })
</script>

答案 1 :(得分:2)

您可以使用Jquery的change trigger

// on line to change 
$('.dial').val(27).trigger('change');