没有数字的JQuery UI滑块

时间:2013-11-25 20:29:38

标签: forms jquery-ui uislider

我正在尝试构建一个评级表,并希望使用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>

1 个答案:

答案 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]”

我希望这对你有用。