請參考我的小提琴here。我有一個包含動態行的表格,每個表格都包含一個複選框,其中包含變量ID id="monitor_'+rowID+'"
,其中rowID是一個全局變量,聲明爲在函數addText()
內部沒有關鍵字var
。我試圖使用.each(function(){});
來遍歷行,但它似乎不工作。如何遍歷幾個變量ID?
我的意圖是查看每行中的複選框是否被選中。如果是,將調用功能monitoring
。 下面是函數:
function monitoring() {
$('#test').append("checked");
fbType = $('td.nth(2)', $(this)).text();
fbNum = $('td.nth(3)', $(this)).text();
$('#test').append(fbType + fbNum);
$.post('/request', {
inputText: fbNum,
key_pressed: fbType.toString()
}).done(function (reply) {
if (reply == "on") {
$('#test').append("on ");
} else {
$('#test').append("off ");
}
});
}
您可以添加行,但是選擇一個選項,並增加一個號碼,然後按按鈕「添加」。第一個.append("checked")
是爲了確保我調用函數,但奇怪的是,它只顯示一次,即使我有幾個複選框,我檢查了所有。
另一個問題,我不能顯示如下內容:
fbType = $('td.nth(2)', $(this)).html();
fbNum = $('td.nth(3)', $(this)).html();
爲什麼會這樣呢?這是至關重要的,因爲你可以看到,我會將這些數據發佈到python函數中...
請告訴我我的代碼出現了什麼問題,以及我應該怎麼做。
啊,所以它會遍歷所有行?我真的不知道.each()會如何迭代,儘管我已經多次閱讀了關於它的jquery API。 – yvonnezoe 2013-05-02 09:05:28
這隻會遍歷具有以'monitor_'開頭的ID的元素,並且它會在您的案例中找到所有複選框,因爲它們都適用於此選擇器 – Tomas 2013-05-02 09:07:39
哦,謝謝!但我怎麼能確保它通過所有選中的複選框循環並調用函數?它無法顯示任何內容,並且無法排除故障。 :( – yvonnezoe 2013-05-02 09:12:25