我正在尝试构建一个评级表,并希望使用JQuery UI增量滑块,除了我不希望该值为数字,我希望它能说“好”或“坏”
我很喜欢HTML& CSS与JavaScript或JQuery不同。我下个月在纽约上课,帮助我更流利地学习这些语言。同时,任何和所有帮助都表示赞赏。我试图破解我发现的其他脚本,但一直遇到问题。我遇到了这个接近我想要的脚本,除了增量显示#s。
我觉得好像可以轻松修改此代码以执行我想要的操作。
http://jsfiddle.net/dmcgrew/EquTn/3/
<html>
<div class="kpa_rate kpa_rate1">
<label for="kpa1_rating_value">Parking:</label>
<div id="1" class="slider"></div>
<input type="text" class="kpa1_rating_value" name="kpa1_rating" value="0" />
</div>
<div class="kpa_rate kpa_rate2">
<label for="kpa2_rating_value">Entrance:</label>
<div id="2" class="slider"></div>
<input type="text" class="kpa2_rating_value" name="kpa2_rating" value="0" />
</div>
</html>
的JavaScript
<script>
$(function() {
$( ".slider" ).slider({
range: "max",
min: 0,
max: 5,
value: $("input", this).val(),
slide: function( event, ui ) {
//get the id of this slider
var id = $(this).attr("id");
//select the input box that has the same id as the slider within it and set it's value to the current slider value.
$("span[class*=" + id + "]").text(ui.value);
$("input[class*=" + id + "]").val(ui.value);
}
});
});
</script>
答案 0 :(得分:0)
你想为每个值想要不同的词(“伟大,良好,中立等”),还是想要最终的好/坏?
如果你想要5个值中的每一个的差异词,那么就像j08691所说的那样,在你想要的索引上创建一个包含你想要的词的数组。
在此之后,将.val(ui.value)中的ui.value替换为值数组(Arr [ui.value])。 (我不确定你真的需要“span”部分,但我不做jquery,所以我不确定)。
$(function() {
var Array = ["die","very bad", "bad", "neutral","good","great"];
$( ".slider" )...etc
...
$("input[class*=" + id + "]").val(Array[ui.value]);
这对我有用。
我做了一些修补,我想我找到了一种表面解决问题的方法。由于作为第一个值输入的数字不会影响滑块按钮/东西,我只想说滑块应该指出的第一个单词(在我的情况下,“die”)。 //值不等于这里的数字
在下一段代码中,只需将输入更改为Array [input],就应该全部设置! min:0, 最大值:5, value:$(“Array [input]”
我希望这对你有用。