1

こんにちは私は2つのドロップダウンメニューを持っています:priceMaximumとmortgageMaximum

ユーザーがpriceMaximumを選択すると、「最大なし」の値がmortgageMaximumドロップメニューに表示され、その逆も同様です。

私は次のコードでそれを行いましたが、Firefoxでのみ機能するようです。そのため、Safari、IE9、およびOperaは機能しません。誰かが代替案を提案できますか?

$('#priceMaximum option:not(:first-child)').click(
    function()
    {
        $('#mortgageMaximum option:not(:first-child)').hide();
    }
);

$('#priceMaximum option:first-child').click(
    function()
    {
        $('#mortgageMaximum option').show();
    }
);

$('#mortgageMaximum option:not(:first-child)').click
(
    function()
    {
        $('#priceMaximum option:not(:first-child)').hide();
    }
);

$('#mortgageMaximum option:first-child').click
(
    function()
    {
        $('#priceMaximum option').show();
    }
);

私のhtmlは次のとおりです。

<select name="priceMaximum" id="priceMaximum" class="thin">
    <option value="999999999" selected="selected">No Maximum</option>
    <option value="200000">200.000</option>
    <option value="400000">400.000</option>
    <option value="800000">800.000</option>
    <option value="1200000">1.200.000</option>
    <option value="2400000">2.400.000</option>
    <option value="5000000">5.000.000</option>
    <option value="10000000">10.000.000</option>
</select>

<select name="mortgageMaximum" id="mortgageMaximum" class="thin">
    <option value="999999999" selected="selected">No Maximum</option>
    <option value="300">300</option>
    <option value="500">500</option>
    <option value="750">750</option>
    <option value="1000">1000</option>
    <option value="2000">2000</option>
</select>
4

4 に答える 4

0

私はselect以前にボックスで同様の問題を抱えていました、そしてトリックはイベントをからに変更するclickことですchange

$('#priceMaximum').change(function () { /* do something here */ });
于 2012-06-12T13:44:53.563 に答える
0
$(document).ready(function () {

    // put all that stuff here

});

http://api.jquery.com/ready/

于 2012-06-12T13:45:37.760 に答える
0

オプションを無効/非表示にしようとすることは、ブラウザではうまくサポートされていません。

オプションを削除し、必要に応じて追加し直すことをお勧めします。

使用.remove()して.append()

于 2012-06-12T13:46:55.323 に答える
0

多分これはあなたを助けることができます:

$('#priceMaximum').change(function(){

   if($(this).val()!='999999999'){
     $('#mortgageMaximum').val('999999999');
   }

});

他のメニューはその逆

$('#mortgageMaximum').change(function(){

   if($(this).val()!='999999999'){
     $('#priceMaximum').val('999999999');
   }

});
于 2012-06-12T13:51:11.327 に答える