2012-07-13 159 views
0

嘿朋友。 我有一个从选择框(HTML)获取最大值和最小值的问题。 我想从jQuery或JavaScript的选择框中获取MAX和MIN值。从选择框中获取最大值,最小值Jquery

这是标记,简单范围滑块。

$('#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> 

感谢您的帮助。

+0

你可以张贴 “选项” 标签标记? – Gntem 2012-07-13 10:20:36

+0

我添加了选项标签 – 2012-07-13 10:30:05

回答

0

您的问题不明确。两种解释方式:

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由服务器构建,即构建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 ]); 
    } 
}); 
+0

我想使用第一个选项。 – 2012-07-13 10:23:17

+0

你能告诉我如何得到var min和var max为$('#slider')。slider function? – 2012-07-13 10:42:00

+0

完成,看到我的更新 – rsplak 2012-07-13 11:31:37

0

取决于$行[“值”]格式,你可以得到最大值和最小值这样 首先获得所有选项的文本到一个数组中,并通过为INT与parseInt函数()然后做

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); 

希望它帮助