我已經創建了一個正在從數據庫中填充的形式。啓用/禁用特定的行值
結果顯示在屏幕上,默認情況下禁用我除了在每一行的初始下拉列表中的所有表單域。
改變下拉列表的值應該啓用或禁用對特定行的表單字段。這僅適用於第一行,但不適用於後續行。
我想這是因爲我只引用的第一行,但我要知道如何改變這種..
這是我到目前爲止已經有..記住裸這只是2行,實時數據可能會顯示很多行。
<html>
<head>
<title>test</title>
<script src="jquery-1.8.0.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#option').change(function(){
if($(this).val()=="2"){
$("#name").removeAttr("disabled");
$("#id").removeAttr("disabled");
$("#home").removeAttr("disabled");
$("#active").removeAttr("disabled");
}
if($(this).val()!="2"){
$("#name").attr("disabled", "disabled");
$("#id").attr("disabled", "disabled");
$("#home").attr("disabled", "disabled");
$("#active").attr("disabled", "disabled");
}
});
});
</script>
</head>
<body>
<form id='usr' method='post' action='test.php'>
<table border='1' width='60%'>
<tr>
<th>Val1</th>
<th>Val2</th>
<th>Val3</th>
<th>Val4</th>
<th>Val5</th>
<th>Val6</th>
</tr>
<tr align='center'>
<td>
<select name='option' id='option' />
<option></option>
<option value='1'>Option1</option>
<option value='2'>Option2</option>
</select>
</td>
<td>USR1</td>
<td><input type='text' name='name[]' id='name' value='' disabled='disabled'/></td>
<td><input type='text' name='id[]' id='id' value='' disabled='disabled'/></td>
<td>
<select name='home[]' id='home' disabled='disabled'/>
<option value='North'>North</option>
<option value='South'>South</option>
<option value='Other'>Other</option>
</select>
</td>
<td>
<select name='active[]' id='active' disabled='disabled'/>
<option value=''></option>
<option value='1'>Yes</option>
<option value='2'>No</option>
<option value='3'>Dead</option>
<option value='4'>Other</option>
</select>
</td>
</tr>
<tr align='center'>
<td>
<select name='option' id='option' />
<option></option>
<option value='1'>Option1</option>
<option value='2'>Option2</option>
</select>
</td>
<td>USR2</td>
<td><input type='text' name='name[]' id='name' value='' disabled='disabled'/></td>
<td><input type='text' name='id[]' id='id' value='' disabled='disabled'/></td>
<td>
<select name='home[]' id='home' disabled='disabled'/>
<option value='North'>North</option>
<option value='South'>South</option>
<option value='Other'>Other</option>
</select>
</td>
<td>
<select name='active[]' id='active' disabled='disabled'/>
<option value=''></option>
<option value='1' >Yes</option>
<option value='2' >No</option>
<option value='3' >Dead</option>
<option value='4'>Other</option>
</select>
</td>
</tr>
</table>
</form>
</body>
</html>
有人可以幫助我得到這個工作的所有行。在行的開頭選擇下拉菜單時,它只會影響該行。
謝謝:)
所有表單字段具有相同的'name'和'id'。您無法區分它們,因此瀏覽器默認爲_first_。這是你看到的行爲。 – Halcyon
感謝這就是我假設。由於這是從DB來的時候可以增加數到每個ID,所以他們會成爲'name1','id1','name2','id2'等,但我怎麼引用他們在jQuery中? – JeffVader
這是jQuery不擅長的部分。有解決方法,但他們都非常討厭。你可以嘗試找到其他人如何動態生成數據/表單的例子。 – Halcyon