0

車の予約フォームを処理するjqueryスクリプトを作成するためにいくつかの助けが必要です。

フォームには、「開始日、終了日(日付ピッカー)、賃貸のローカリゼーション(都市)」などのフィールドがあり、顧客が車を借りた方向と日数のリストとともに車を返却します。依存関係は1つだけです。車のレンタル期間が4日未満の場合、借り入れと返却の都市は同じであり、日数が4日を超える場合、返却車の場所が異なる場合があります。

クライアントが都市を選択し、日数が4未満になるまで、フォーム全体が非常にうまく機能します。最初の都市の値は、2番目の都市フィールドに「コピー」され(都市の他の値は無効になります)、それは正しいです。最初の都市の下に方向のフィールドが表示されますが、2番目の都市の下には方向のリストが表示されません(ただし、都市が選択されているため、表示する必要があります)。

日付を変更し、合計日の値が4より大きい場合、2番目のフィールドですべての都市がアクティブになり、そのうちの1つを選択すると方向が表示されます。これで問題ありませんが、「クリック」する必要があります。街。スクリプトによって挿入されている場合、方向のリストは無効になります。

誰かがこれで私を助けることができますか?

作業例: http: //jsfiddle.net/amarcinkowski/EbdFY/

4

2 に答える 2

1

変更イベントを「強制」して実行することができます

$('#return_car').change()

そして、方向入力が表示されます。

于 2012-08-01T08:23:58.810 に答える
0

最初に、変更イベントのバインディングをとに複製し#return_carます#get_car。この行を削除またはコメントします。

$('select#return_car').change(compute);
$('select#get_car').change(compute);

第二に、マキシムLが書いているように:

if ( parseInt($("#finish_day").val()) < 4 ) {
  $('#return_car')
    .children('#return_car option[value=' + $('#get_car').val() + ']')
    .attr('selected', true)
    .siblings().attr('disabled', true);
  if ($('#return_car').val()) $('#return_car').change(); // or $('#return_car').trigger('change');
}
于 2012-08-01T08:44:09.633 に答える