0

ヘイフレンズ。select box(html)から最大値と最小値を取得する際に問題が発生しました。jqueryまたはjavascriptを使用してselectboxからMAXとMINの値を取得したい。

これがマークアップのシンプルな範囲スライダーです。

$('#slider').slider({
        range: true,
        min: 0,//HERE I WANT TO GET VALUES
        max: 40,
        step: 10, // Use this determine the amount of each interval
        values: [ 20, 40 ], // The default range
        slide: function( event, ui ) {
          // for input text box
          $( "#amount" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] );
          // Display and selected the min Price
          $( "#my_min" ).val(ui.values[ 0 ]);
          // Display and selected the max Price 
          $( "#my_max" ).val(ui.values[ 1 ]); 
    }
});

選択ボックスから取得したいのですが、選択ボックスはPHPによって動的に入力されます。コードは次のとおりです。

<select id="my_min" class="price_range">
<?php //dynamicly filled options 

         while($row=mysql_fetch_array($query))
            {echo "<option>".$row['values']."</option>";}


?>
</select>

手伝ってくれてありがとう。

4

2 に答える 2

0

$row["values"] 形式に応じて、このように最大値と最小値を取得できます。最初にすべてのオプション テキストを配列に取得し、parseInt()で Int として渡します。

OptionsArray.maximum = function(ArrayParameter){
 return Math.max.apply( Math, ArrayParameter);
};

OptionsArray.minimum = function(ArrayParameter){
 return Math.min.apply( Math, ArrayParameter);
};

console.log('Maximum is '+OptionsArray.maximum);
console.log('Minimum is '+OptionsArray.minimum);

それが役に立ったことを願っています

于 2012-07-13T10:56:45.077 に答える
0

あなたの質問はあいまいです。解釈の 2 つの方法:

1. 選択ボックスの最小値と最大値を JavaScript に知らせたい。

以下を使用できます。

 var options = document.getElementById('yourselectbox').childNodes;
 var min = 999999999;
 var max = 0;
 for(var i = 0; i < options.length; i++) {
     if(options[i].value > max) max = options[i].value;
     if(options[i].value < min) min = options[i].value;
 }

2. サーバーに JavaScript の最大値と最小値を知らせたい。

DOM はサーバーによって構築されます。つまり、DOM は HTML を構築します。HTML には、最小値と最大値を定義する JavaScript が含まれています。データが POST 経由でサーバーに送り返される場合、SET 値のみが送信されます。通常、最小値と最大値はサーバーにとって重要ではありません。最小値と最大値を送信する場合は、それらの値を含む非表示の入力フィールドを作成する必要があります。しかし、なぜですか?最小値と最大値を定義しますよね?

- 編集 -

var options = document.getElementById('yourselectbox').childNodes;
var min = 999999999;
var max = 0;
for(var i = 0; i < options.length; i++) {
    if(options[i].value > max) max = options[i].value;
    if(options[i].value < min) min = options[i].value;
}
$('#slider').slider({
        range: true,
        min: min,
        max: max,
        step: 10, // Use this determine the amount of each interval
        values: [ 20, 40 ], // The default range
        slide: function( event, ui ) {
          // for input text box
          $( "#amount" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] );
          // Display and selected the min Price
          $( "#my_min" ).val(ui.values[ 0 ]);
          // Display and selected the max Price 
          $( "#my_max" ).val(ui.values[ 1 ]); 
    }
});
于 2012-07-13T10:17:37.030 に答える