私のページでは、複数のボタンが作成されますid = 'rbutton_"+i+"'
。以下は私のコードです:
<button type='button' id = 'rbutton_"+i+"' onclick=disable(i);>Click me</button>
Javascriptの場合
function disable(i){
$("#rbutton'+i+'").attr("disabled","disabled");
}
しかし、ボタンをクリックしてもボタンは無効になりません。
ベストアンサー1
代わりに以下を使用します.prop
(セレクター文字列をクリーンアップしてください):
function disable(i){
$("#rbutton_"+i).prop("disabled",true);
}
生成されたHTML:
<button id="rbutton_1" onclick="disable(1)">Click me</button>
<!-- wrap your onclick in quotes -->
しかし、「ベスト プラクティス」のアプローチは、JavaScript イベント バインディングを使用して、this
代わりに次の操作を実行することです。
$('.rbutton').on('click',function() {
$(this).prop("disabled",true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button class="rbutton">Click me</button>