0

フォームの jQuery コードの一部に問題があります。コードの一部を除いて、すべて正常に動作します。

if ( $("#finish_day").val() > 4 ) {
    $('#start').attr('', '');
} else {
    $('#start, #end').not(this)
        .children('option[value=' + this.value + ']')
        .attr('selected', '')
        .siblings().attr('disabled', true);
}

ここでテストできる例全体: http://jsfiddle.net/amarcinkowski/k7kKV/3/

これが事です:

最初の問題:「時間」フィールドを変更すると、自動的に「都市」フィールドが変更され、その後は都市を変更できません。上記のコードを切り取ると、 City フィールドは正常に機能します。

2 番目の問題: すべての「City1」オプションを常にアクティブにする必要があります (「時間」を変更すると、1 つのオプションがアクティブになり、他のオプションが無効になります)。上記のコードは次のように動作する必要があります: 「合計日」フィールドの値が (たとえば) 3 未満の場合、「City2」フィールドの値は「City1」フィールドの値と同じです (City1: カトヴィツェ = City2: カトヴィツェ) 、および City2 フィールドのその他のオプションは無効になっています。

どんな助けにも感謝します。

4

2 に答える 2

0

何が必要かを正確に理解するのは難しいですが、elseステートメントでこれを試してみることをお勧めします。

$('#end option').attr('disabled', false);
于 2012-07-26T03:31:12.563 に答える
0

コードを次のように変更します。

if ( $("#finish_day").val() < 4 ) {
          $('#start, #end').not(this)
              .children('option[value=' + this.value + ']')
              .attr('selected', true)
              .siblings().attr('disabled', true);
} else {
    $('#end').attr('disabled', false);
}

これは、City1 オプションが常にアクティブであることを示し、City2 の値を条件付きで変更します。もう 1 つ問題があります。"else" セクション (値が 3 より大きい場合) を変更して、City2 ですべてのオプション値をアクティブな状態で表示する方法がわかりません。

于 2012-07-25T09:38:31.267 に答える