1 回答

TA貢獻1865條經驗 獲得超7個贊
document.getElementById將始終返回與 id 匹配的第一個元素。
所以你可以只抓住點擊的目標:
function update_country( e ) {
if( e.target.value == 'Edit' ) {
e.target.value = 'Update'
e.target.parentNode.parentNode.querySelector( '#country' ).style.display = 'none'
e.target.parentNode.querySelector( '#countries' ).style.display = 'inline-block'
}
}
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #dddddd;
}
<h2>HTML Table</h2>
<table>
<tr>
<th>ID</th>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>101</td>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td id="country">Germany</td>
<td id="countryOption">
<select id="countries" class="countries" style="display:none;">
<option value="Germany">Germany</option>
<option value="India">India</option>
<option value="France">France</option>
<option value="Italy">Italy</option>
</select>
<input id="Editbtn" type="button" value="Edit" onclick="update_country(event)">
</td>
</tr>
<tr>
<td>102</td>
<td>Futterkiste</td>
<td>Joe</td>
<td id="country">Italy</td>
<td id="countryOption">
<select id="countries" class="countries" style="display:none;">
<option value="Germany">Germany</option>
<option value="India">India</option>
<option value="France">France</option>
<option value="Italy">Italy</option>
</select>
<input id="Editbtn" type="button" value="Edit" onclick="update_country(event)">
</td>
</tr>
</table>
添加回答
舉報