我有一个带有两个选择下拉列表的 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
更改选择选项时同时显示两个 s。