嗨,朋友们。我在从选择框(html)中获取最大值和最小值时遇到了一个问题。我想用jquery或javascript从selectbox中获取最大和最小值。
这是标记,简单的范围滑块。
$('#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>
谢谢你的帮助。
您的问题不明确。两种解释方式:
1.您希望javascript知道selectbox的最小值和最大值
您可以使用:
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 ]);
}
});
根据$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);
希望它能帮助