1

我有两个选择字段

选择字段1:

<select id="minprice" required name="minprice" class="sell-textfield">
            <option value="">Select</option>
            <option value="3">less than 10 lakh</option>
            <option value="1000000">10 Lakhs</option>
            <option value="2000000">20 Lakhs</option>
            <option value="3000000">30 Lakhs</option>
            <option value="4000000">40 Lakhs</option>
            <option value="5000000">50 Lakhs</option>
            <option value="6000000">60 Lakhs</option>
            <option value="7000000">70 Lakhs</option>
            <option value="8000000">80 Lakhs</option>
            <option value="9000000">90 Lakhs</option>
            <option value="10000000">1 Crore</option>
            <option value="12000000">1.2 Crores</option>
            <option value="14000000">1.4 Crores</option>
            <option value="16000000">1.6 Crores</option>
            <option value="18000000">1.8 Crores</option>
            <option value="20000000">2 Crores</option>
            <option value="22500000">2.25 Crores</option>
            <option value="30000000">3 Crores</option>
            <option value="35000000">3.5 Crores</option>
            <option value="40000000">4 Crores</option>
            <option value="45000000">4.5 Crores</option>
            <option value="50000000">5 Crores</option>
            <option value="60000000">6 Crores</option>
            <option value="70000000">7 Crores</option>
            <option value="80000000">8 Crores</option>
            <option value="90000000">9 Crores</option>
            <option value="100000000">10 Crores</option>
            <option value="150000000">15 Crores</option>
            <option value="200000000">20 Crores</option>
            <option value="300000000">30 Crores</option>
            <option value="400000000">40 Crores</option>
            <option value="500000000">50 Crores</option>
            <option value="12345678901234567890">Above 50 Crores</option>
        </select>

选择字段2:

<select id="maxprice" required name="maxprice" class="sell-textfield">
            <option value="">Select</option>
            <option value="1000000">10 Lakhs</option>
            <option value="2000000">20 Lakhs</option>
            <option value="3000000">30 Lakhs</option>
            <option value="4000000">40 Lakhs</option>
            <option value="5000000">50 Lakhs</option>
            <option value="6000000">60 Lakhs</option>
            <option value="7000000">70 Lakhs</option>
            <option value="8000000">80 Lakhs</option>
            <option value="9000000">90 Lakhs</option>
            <option value="10000000">1 Crore</option>
            <option value="12000000">1.2 Crores</option>
            <option value="14000000">1.4 Crores</option>
            <option value="16000000">1.6 Crores</option>
            <option value="18000000">1.8 Crores</option>
            <option value="20000000">2 Crores</option>
            <option value="22500000">2.25 Crores</option>
            <option value="30000000">3 Crores</option>
            <option value="35000000">3.5 Crores</option>
            <option value="40000000">4 Crores</option>
            <option value="45000000">4.5 Crores</option>
            <option value="50000000">5 Crores</option>
            <option value="60000000">6 Crores</option>
            <option value="70000000">7 Crores</option>
            <option value="80000000">8 Crores</option>
            <option value="90000000">9 Crores</option>
            <option value="100000000">10 Crores</option>
            <option value="150000000">15 Crores</option>
            <option value="200000000">20 Crores</option>
            <option value="300000000">30 Crores</option>
            <option value="400000000">40 Crores</option>
            <option value="500000000">50 Crores</option>
            <option value="12345678901234567890">Above 50 Crores</option>
        </select>

现在我试图隐藏 maxprice 中小于 minprice 所选选项的选项。所以我创建了一个关于 minprice 变化的函数:

$("#minprice").change(function() {
var i;  
for(i=1;i<=32;i++){
    if($('#maxprice option').eq(i).val()<$(this).val()) {               
        $('#maxprice option').eq(i).hide();
    }else{
        $('#maxprice option').eq(i).show();

    }
}
});

当在 minprice 中给出 200 万时,该函数从 maxprice 中隐藏 1 千万和 1.2 千万,当在 minprice 中给出 300 万时,从 maxprice 中隐藏 2 千万和 2.25 千万。等等。

我已经检查了所有内容,但找不到问题所在。

4

3 回答 3

2

你可以试试这个:DEMO

$("#minprice").change(function() {

  var i = $('option:selected', this).index();
  $("#maxprice option").show();
  $("#maxprice option:lt("+ i +")").hide();

});
于 2013-09-05T06:50:01.557 回答
1

所以这两个选择都有相同的选项,我认为你可以这样做:

$("#minprice").change(function() {
    var $this = $(this);
    var $option = $this.find('option[value='+$this.val()+']');
    var curIndex = $option.index();
    $('#maxprice option:lt('curIndex')').hide();
});
于 2013-09-05T06:52:15.997 回答
0

试试这个 :

<script type="text/javascript">
$(document).ready(function(){
    $('#minprice').on('change',function(){
        var min = $(this);
        var max = $('#maxprice');
        var minSel = this.selectedIndex;

        max.find('option').removeAttr('disabled').removeAttr('selected');
        max.find('option:eq('+minSel+')').prevAll('option').attr('disabled',true);
    });
});
</script>
于 2013-09-05T07:00:31.887 回答