1

私は2つの選択フィールドを持っています

フィールド 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>

今、minprice が選択したオプションよりも低いオプションを maxprice から隠そうとしています。したがって、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 で 20lakhs が与えられた場合、maxprice から 1,200,000,000 を隠し、minprice で 3,000,000 が与えられた場合、maxprice から 2,000,000,000 を隠します。等々。

すべてをチェックしましたが、何が問題なのかわかりません。

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 に答える