我使用JQuery
對兩個輸入的文本元素(即是readonly
)和兩個按鈕,使按鈕1被點擊時僅輸入1應成爲讀/寫。並且,當按鈕2被點擊時,只有輸入2應該變爲可讀/寫。當再次點擊相應的按鈕時,相應的輸入應該再次只讀。但是我的後續腳本改變了這兩個輸入的只讀屬性,不管點擊哪個按鈕。我想只有一個事件應該針對特定輸入被解僱這裏用戶解釋hereJQuery的類選擇
注意:我知道我們可以用它代替類選擇,但我的真實的情景是動態生成的輸入和按鈕標籤ID通過循環,數據來自數據庫。因此,我們不知道每次會創建多少這樣的元素。而且,正如上面提到的鏈接中的用戶所指出的,只有一個點擊事件應該爲相應的按鈕觸發。所以問題是我們如何實現這種情況,因爲下面給出的例子不適用於這種情況。
HTML:
<table>
<tbody>
<tr>
<td>
<input class="txtInput" type="text" name="test1" value="test1val" readonly/>
</td>
<td>
<input type="button" class="btnEdit" name="editName" value="Edit"/>
</td>
</tr>
<tr>
<td>
<input class="txtInput" type="text" name="test2" value="test2val" readonly />
</td>
<td>
<input type="button" class="btnEdit" name="editName" value="Edit" />
</td>
</tr>
</tbody>
</table>
JQuery的:
$(document).ready(function() {
$('.btnEdit').click(function() {
if ($('.txtInput').prop('readonly')) {
$('.txtInput').removeAttr('readonly');
}
else {
$('.txtInput').attr('readonly', 'readonly')
}
});
});
頁顯示:
您的示例使兩個輸入在單擊其他按鈕後都可編輯。 E.g:單擊btn1將input1標籤更改爲可編輯。然後點擊btn2使input2標籤可編輯;但input1標籤仍然可編輯。 – nam
@nam - 我認爲這是關鍵,但如果你只想有一個輸入活躍,只需設置它們的只讀屬性,然後再對當前的屬性進行更改等。編輯答案。 – adeneo