1
我最近得知,在使用onclick時,對於按鈕,字段名稱和按鈕ID必須是唯一的。雖然這不是問題,但取決於腳本輸出的行數,這可能會造成很大的浪費。for循環中的PHP頁面上使用的jquery/Ajax
例如,我有一個while循環,它這樣做的每個人我的服務器(我的世界),所以它可能是10,也可能是50
這是創建JS對象的代碼
$kickbtn .= " $('#kick_btn$k').click(function(event) {
var player_name$k = jQuery('input[name=\"player$k\"]').val()
jQuery.get('testing.php?action=kick', { player_input: player_name$k});
alert('Successfully kicked');
});\n\n";
這是形式的數據
<form name=\"$pdata[name]\" action=\"\">
<input type=\"hidden\" name=\"player$k\" value=\"$pdata[name]\">
<input type=\"submit\" id=\"kick_btn$k\" value=\"Kick Player\">
</form>
$k++;
有沒有做到這一點,而無需創建所有這些多餘的代碼更簡單的方法?
html中的輸出效果很好,它確實有效,只是希望我能做些更動態的事情,而不是在代碼中混亂。下面是從解析的代碼,工作和看起來不錯。
$('#kick_btn14').click(function(event) {
var player_name14 = jQuery('input[name="player14"]').val()
jQuery.get('testing.php?action=kick', { player_input: player_name14});
alert('Successfully kicked');
});
儘管從縮小的文檔大小可以稍微減少加載時間,但值得一提的是,儘管完全合理,但這種方法可能會導致客戶端上的加載時間整體增加,與元素數量成正比該文件。 OP的原始方法並不美觀,但它需要較少的處理。 – tomfumb
@tomfumb - 我會調整答案,甚至沒有考慮點擊處理程序的數量(感謝指針)。 – karim79
var num = this.id.replace(「kick_btn」,「」);我認爲這條線有什麼問題,num總是沒有返回 – Kelso