我有三个选择,一个是月,一个是天,一个是年。我有一些基本的 JS,当三个选择之一被修改时,它会更新一个文本输入框。
HTML:
<select name="month" class="month" onchange="setDate(this,day,year)">
<option value="1">January</option>...
</select>
<select name="day" class="day" onchange="setDate(month,this,year)">
<option value="1">1</option>...
</select>
<select name="year" class="year" onchange="setDate(month,day,this)">
<option value="2012">2012</option>...
</select>
<input type="text" name="hidden" value="" />
这工作得很好,但我想添加另一组这三个输入。当我这样做(制作上面的 HTML 的另一个副本)时,它们都不起作用。也就是说,文本输入框没有被更新/给定日期,因为选择被修改(选择)。
JavaScript(相关部分):
function setDate(month_selection, day_selection, year_selection)
{
//Month, Day and Year variables created
form.hidden.value = month + '/' + day + '/' + year;
}
关于为什么它只有在我只有一个上面的 HTML 副本时才有效以及如何解决这个问题以便我可以拥有两组这些选择的任何想法?
编辑:我通过为 HTML 的每个“副本”提供输入以及选择不同的名称来解决问题。
我现在遇到了一个新问题,即如何根据正在更改的输入来更新正确的文本框。
如果我把它放在我的 setDate 函数的末尾:
form.hidden.value = month + '/' + day + '/' + year;
form.hidden_two.value = month + '/' + day + '/' + year;
当其中任何一个发生更改时(显然),它将更新它们的文本框。有谁知道让它更新正确的文本框的方法?