2

1つのスライダーにこのコードがあり、構造は正しく表示されますが、スライドを移動すると、入力ボックス「amount」内に回答の値が表示されず、「unifined」と表示されます。理由はわかりません。検査すると、divスライダーのタグ名に値が含まれていることがわかります。htmlタグ「value」も試してみましたが、うまくいきませんでした。私に何ができる ?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>  Questionnaire </title>
    <meta name="Description" content="Questionnaire on business model" />
    <script src="jquery-1.8.3.js" type="text/javascript"></script>
    <script src="jquery.validationEngine-en.js" type="text/javascript" charset="utf-8"></script>
    <script src="jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>    
    <script src="jquery-ui-1.9.2.js"></script>
    <script src="factaris.js"></script> 
    <link rel="stylesheet" href="STYLE.css" type="text/css" media="screen" />
    <script>
    jQuery(document).ready(function(){

        ///SLIDER !!!!!!!!!!!!!!!!!!!!!!!!!!!

        $( "#slider" ).slider({ 
        slide: function( event, ui ) {
            //$( "#amount" ).val( "$" + ui.value );  // show range 0-100 without ini values !!!!!
            // $( "#amount" ).val( "$" + this.value  ); //show undefined
            //   $( "#amount" ).val( "$" + 8); // show 8 all time
            $( "#amount" ).val( "$" + ui.name );    
        }
        });     
    });
    </script>
</head>
<body>
<div id="sizer">
    <form id= "formID"  name="formID" class="formular"   method="post" action= "<?= $url = "QUESTIONAREFINISHING.php"; ?>" accept-charset="utf-8">
    <div id="questionare" >
    <!--SLIDER-->   

    <?php if($row_questionset['Constructor']=="Slider"){?>
    <div>
        <label class="desc" value= "<?php $row_questionset['QuestionIDFKPK'];?>">
        <?php echo $row_questionset['QuestionValue']; ?>
        </label>
    </div>                                                          
    <?php while ($row_Answer=mysql_fetch_array($AnswersValue)){ ?>  
    <p>
        <label for="amount"><?php echo $row_questionset['QuestionValue']; ?></label>
        <input type="text" id="amount" name="amount"  />
    </p>

    <div id="slider" name="<?php echo $row_Answer['AnswerValue']; ?>" ></div>

    <?php } // End while loop ?>
    <?php } //End slider row ?> 
    <!--/SLIDER-->  
    </div>   
</form>
</div>   
</body>    
</html>
4

3 に答える 3

0

mtoに初期値を設定する場合は、sliderメソッドを呼び出すときに設定する必要があります(HTMLではなくJSを使用)。

$("#slider).slider({
    max: slideMax,
    min: slideMin,
    value: slideInit,

// To set the value to the `#amount` element, use the following `slide` event
    slide: function( event, ui ) {
        $( "#amount" ).val( ui.value );    
    }
});
于 2012-12-13T15:34:41.697 に答える
0

値スライダー引数を使用して、スライダーの変更またはスライドで値を読み取りたい場合は、スライダーのイベントメソッドを使用します。

function outputValue(sliderDom) {
    alert($(sliderDom).slider('value'));
};

$( "#slider" ).slider({
    //... your init
    slide: function(){
        outputValue(this);
    },
    change: function(){
        outputValue(this);
    }
});

編集

値の問題を解決するには、これを試してください

$('#slider').slider({
    //..
    min: 0,
    max: 100000 //or more
});
于 2012-12-13T14:43:43.087 に答える