[英]JavaScript / jQuery - taking input from 2 drop down identical menus
我有2個下拉列表,這既持有的同一列表teams
,一個被用作home
團隊和一個作為away
球隊。 目前第一個下拉列表有效,當從列表中選擇一個team
時,其id
和name
將輸出到頁面。 但是,當單擊另一個下拉菜單時,什么也不會發生。 因此,例如,輸出使用ID和小組名稱並將其輸出到文本框。
這是每個下拉列表的示例以及下面的相關代碼,有人可以幫助我嗎?
為主隊列表生成的HTML:
<select id="teamList" style="width: 160px;">
<option></option>
<option id="1362174068837" value="1362174068837" class="teamDropDown">Liverpool</option></select>
為客隊列表生成的HTML:
<select id="teamList" style="width: 160px;">
<option></option>
<option id="1362174068837" value="1362174068837" class="teamDropDown">Liverpool</option>
</select>
用於生成HTML的JADE模板(用於兩個列表):
div#teamDropDownDiv
-if(teamsList.length > 0){
select#teamList(style='width: 160px;')
option
-each team in teamsList
option.teamDropDown(id="#{team.key}",value="#{team.key}") #{team.name}
頁面的JavaScript:
Team.initTeamsDD = function(){
$("#teamList").change(function(e){
e.preventDefault();
var teamId = $(this).val();
$.get('/show/team/'+teamId, function(response){
if(response.retStatus === 'success'){
var teamData = response.teamData;
$('#teamId').val(teamData.key);
$('#teamName').val(teamData.name);
} else if(response.retStatus === 'failure'){
}
});
});
兩個<select>
元素都具有相同的“ id”值,即“ teamList”。 您永遠不應有兩個具有相同“ id”的元素。 因此,變更事件處理程序僅附加到其中一個。 您應該將它們更改為“ homeTeamList”和“ awayTeamList”,然后使用:
Team.initTeamsDD = function(){
$("#homeTeamList, #awayTeamList").change(function(e){
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.