1

嗨,我有两个下拉菜单:priceMaximum 和mortgageMaximum

我想要它,所以如果用户选择 priceMaximum,那么“No Maximum”值会显示在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盒子上遇到过类似的问题,诀窍是将事件从更改clickchange

$('#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 回答