【问题标题】:Get max,min value from select box Jquery从选择框Jquery获取最大值,最小值
【发布时间】:2012-07-13 10:08:52
【问题描述】:

嘿朋友们。 我从选择框(html)中获取最大值和最小值时遇到问题。 我想使用 jquery 或 javascript 从选择框中获取 MAX AND 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>

感谢您的帮助。

【问题讨论】:

  • 你能发布“选项”标签标记吗?

标签: php jquery-ui jquery-ui-slider


【解决方案1】:

您的问题模棱两可。两种解读方式:

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

【讨论】:

  • 你能告诉我如何将 var min 和 var max 获取到 $('#slider').slider 函数吗?
  • 已完成但无法正常工作,jquery 未获取最小值和最大值。
  • 完成了,我将 min 的名称更改为 min1 因为 min 是保留变量。 :)
【解决方案2】:

根据 $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);

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 2019-02-09
    • 2019-07-31
    • 1970-01-01
    • 2015-02-22
    相关资源
    最近更新 更多