2

2つの選択フィールドがあります。最小ポイントと最大ポイントの場合。範囲は5000〜50000です。達成したいのはmaxpoint選択ボックスです。minpointsの選択値よりも大きい値を表示したいです。

たとえば、minpoint選択フィールドから15000を選択した場合、maxpoint選択ボックスで最初の2つのオプション(5000と10000)が15000未満であるため、それらを非表示/無効にします。

最小点に基づいて最大値を基本的に有効または無効にします。

HTMLは次のようになります

<select class="pointSelect" tabindex="2" id="minPoints" name="minPoints">
<option value="0" selected="selected">Min</option>
<option value="5000">5000</option>
<option value="10000">10000</option>
<option value="15000">15000</option>
<option value="20000">20000</option>
<option value="25000">25000</option>
<option value="30000">30000</option>
<option value="40000">40000</option>
<option value="50000">50000</option>
</select>
<select class="pointSelect" tabindex="3" id="maxPoints" name="maxPoints">
<option value="50000" selected="selected">Max</option>
<option value="5000">5000</option>
<option value="10000">10000</option>
<option value="15000">15000</option>
<option value="20000">20000</option>
<option value="25000">25000</option>
<option value="30000">30000</option>
<option value="40000">40000</option>
<option value="50000">50000</option>
</select>

私はこのようなことを試みていますが、まだ目標に達していません

    $('#minPoints').change(function(){
    var index = $(this).find('option:selected').index();
    $('maxPoints').find('option').lt(index).attr('disabled','disabled');
    $('maxPoints').find('option').gt(index).removeAttr('disabled');
    });

誰かが案内してもらえますか?

4

2 に答える 2

3

インデックスに基づいてオプションを選択的に表示および非表示にできます。

$('#minPoints').change(function () {
    var index = $(this).find('option:selected').index();
    $('#maxPoints').find('option:lt(' + index + ')').hide();
    $('#maxPoints').find('option:gt(' + index + ')').show();
});

$('#maxPoints').change(function () {
    var index = $(this).find('option:selected').index();
    $('#minPoints').find('option:gt(' + index + ')').hide();
    $('#minPoints').find('option:lt(' + index + ')').show();
});

jsfiddle

于 2013-02-21T11:25:13.707 に答える
0

あなたはむしろこのように使用しltますgt-

$("#maxPoints").find("option:lt("+index+")").attr("disabled","disabled");
$("#maxPoints").find("option:gt("+index+")").removeAttr("disabled");

ワーキングフィドル:ここ

于 2013-02-21T11:32:18.873 に答える