jQuery:使用Amount-Slider对更改产生影响

时间:2013-04-23 15:53:51

标签: javascript jquery html forms

我有一个表单设置,当选择了某些值时,我有一个项目列表值更改。

我有一个值为1到4年的表单,当选择这些选项时,结果字段中的值会随着适应的价格而变化。当我使用这个菜单时,一切正常。

现在我已经安装了一个滑块(http://jqueryui.com/slider/#hotelrooms)并使用了菜单,但jQuery的.change并没有获取滑块所做的更改。

正如你在这段脚本中看到的那样:

<script>
  $(function() {
    var select = $( "#minbeds" );
    var slider = $( "<div id='slider' style='margin-left:30px;'></div>" ).insertAfter( "#reserverer" ).slider({
     min: 1,
     max: 4,
     range: "min",
     value: select[ 0 ].selectedIndex + 1,
     slide: function( event, ui ) {
       select[ 0 ].selectedIndex = ui.value - 1;
      }
    });
    $( "#minbeds" ).change(function() {
      slider.slider( "value", this.selectedIndex + 1 );
    });
  });
 </script>

它所说的位:selectedIndex + 1,会更改菜单,但这不会激活以下jQuery代码:

<script>
$('#minbeds').change(function(){
    if($(#minbeds).val() == '2 Years'){ 
      $("#t_1_y_1").hide('slow');
      $("#t_1_y_2").show('slow');
      $("#t_1_y_3").hide('slow');
      $("#t_1_y_4").hide('slow');
    }
   });
</script>

滑块正在运行,菜单正在运行,但是如何让滑块运行jQuery脚本?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

请试试这个:

   <script>
      $(function() {
        var select = $( "#minbeds" );
        var slider = $( "<div id='slider' style='margin-left:30px;'></div>" ).insertAfter( "#reserverer" ).slider({
         min: 1,
         max: 4,
         range: "min",
         value: select[ 0 ].selectedIndex + 1,
         slide: function( event, ui ) {
           select[ 0 ].selectedIndex = ui.value - 1;
            if(ui.value == '2') { 
              $("#t_1_y_1").hide('slow');
              $("#t_1_y_2").show('slow');
              $("#t_1_y_3").hide('slow');
              $("#t_1_y_4").hide('slow');
            }
          }
        });
        $( "#minbeds" ).change(function() {
          slider.slider( "value", this.selectedIndex + 1 );
           if($(this).val() == '2'){ 
             $("#t_1_y_1").hide('slow');
             $("#t_1_y_2").show('slow');
             $("#t_1_y_3").hide('slow');
             $("#t_1_y_4").hide('slow');
           }
        });


      });
     </script>