1

jquery-ui スライダーを使用して、「まったく同意しない」から「強く同意する」までの連続的なスケールを作成しています (サンプル - http://enscholar.com/slider/ )。表示したいさまざまな文字列値を保持するオブジェクトを作成しましたが、文字列ではなく数値をデータベースに保存したいと考えています。

これは私がこれまでに持っているものです:

var p = {
            0: "Strongly Disagree",
    5: "Strongly Disagree",
    10: "Strongly Disagree",
    15: "Strongly Disagree",
    20: "Strongly Disagree",
            25: "Disagree",
    30: "Disagree",
    35: "Disagree",
    40: "Disagree",
    45: "Neutral",
            50: "Neutral",
    55: "Neutral",
    60: "Neutral",
            65: "Agree",
    70: "Agree",
    75: "Agree",
    80: "Agree",
            85: "Strongly Agree",
    90: "Strongly Agree",
    95: "Strongly Agree",
    100: "Strongly Agree"
         };

        $( ".slider" ).slider({
            animate:true,
            range: "min",
            value:50,
            min: 0,
            max: 100,
            step: 5,
            slide: function( event, ui ) {
                $( "#slider-result" ).val(p[ui.value]);
            }
        });
        $("#slider-result").val(p[$(".slider").slider("value")]);

        $( ".slider-2" ).slider({
            animate:true,
            range: "min",
            value:50,
            min: 0,
            max: 100,
            step: 5,
            slide: function( event, ui ) {
                $( "#slider-result-2" ).val(p[ui.value]);
            }
        });
        $("#slider-result-2").val(p[$(".slider-2").slider("value")]);
    });

そこから、入力の値を収集しているだけです-これが問題だと感じていますが、ここからどこに行くべきかわかりません。

<input type="text" id="slider-result" name="career" readonly/>

文字列をユーザーに表示するが、数値をデータベースに保存する方法についてのアイデアはありますか?

どんな助けでも大歓迎です!!

4

1 に答える 1

0

スライダーに入力された値に基づいて、if ステートメントを使用して範囲を特定の #message にリンクしました。

$(function() {
            $( ".slider" ).slider({
                animate:true,
                range: "min",
                value:0,
                min: 0,
                max: 100,
                step: 1,
                slide: function( event, ui ) {
                $( "#slider-result" ).val(ui.value);
                    if (ui.value >= 0 && ui.value < 20) {
                        $("#message").text("I could care less.");
                    } else if (ui.value >= 20 && ui.value < 40) {
                        $("#message").text("Loving what you do is overrated...");
                    } else if (ui.value >= 40 && ui.value < 60) {
                        $("#message").text("I guess it might be...");
                    } else if (ui.value >= 60 && ui.value < 80) {
                        $("#message").text("I want to love what I do.");
                    } else {
                        $("#message").text("I NEED to love my career!");
                    }
                }
            });

次に、スライダーを表示するときに、id="message" を呼び出して文字列を表示できます。

<div id="sliders">
      <form method="post" action="results.php">
          How important is it that you find a career that you love and are good at?
          <input type="hidden" id="slider-result" name="career" readonly/>
          <div class="slider"></div>
          <p id="message"><img src="images/slide.png" /></p>
       </form>
 </div>
于 2013-03-29T14:25:00.903 に答える