2 つの選択ドロップダウン リストを含む html フォームがあります。それぞれに、出発/移動する同じサイトがあります。それぞれの ID を取得して個別の変数として保存しようとしていますが、新しいオプションを選択するたびに変数が にリセットされundefined
ます。私のコードは次のようになります。
$('select[name=Depart], select[name=Return]').change(function(){
var id = $(this).attr('id');
var depart_id;
var return_id;
// Grabs the place you left from
var dep = $('select[name=Depart] option:selected').val();
// Grabs the place you traveled to
var ret = $('select[name=Return] option:selected').val();
// Grabs the day in the log as a string
var day_id_raw = $(this).closest('tr').attr('id');
// Creates a jQuery object from the string above
var day_id = $('#' + day_id_raw);
// Creates a substring of the string above cutting it off at the day number in the log. E.g. "Day 1" in the log becomes the number "1".
var day_num = day_id_raw.substring(3, day_id_raw.length);
//Creates a jQuery object for the miles of the day table column
var miles_today = $('#miles_day' + day_num);
if($(this).is($('select[name=Depart]'))){
depart_id = id;
}
if($(this).is($('select[name=Return]'))){
return_id = id;
}
// Checks if the place you left from contains a column to output how many miles you traveled that day.
if(day_id.has(miles_today)){
miles_today.text(depart_id + "\n" + return_id);
}
)};
最後のif
ステートメントは、デバッグのみを目的としています。miles_today
変数が実際に機能しているかどうかをテストするためにコンテンツを書き込んでいる空の div です。前に述べたように、いずれかの選択入力でオプションを変更するたびに、代替変数がクリアされます。前もって感謝します。
編集:返信が遅くなり、あいまいな言葉遣いで申し訳ありません。これが私が持っているものの実際の例です: http://jsfiddle.net/8xVuX/2/
「日数」フィールドに1または2を入力するだけで、新しい行が追加されます。「Departed From」の選択メニューをクリックしてオプションを選択するid
と、左側のフィールドに出力されますが、他のフィールド「Returned To」には未定義ですid
。id
選択オプションが変更されたときに両方を表示したい。