HTML に 5x5 のテーブルがあります。つまり、各 tr には 5 つの td があり、各 td には 1 つの入力フィールドがあり、値を解析したいです。また、各 td にはデータ行とデータ列のデータ属性があります。これは私が思いついたものですが、バグがあります。どうすればよいですか?
tds = $('td')
marker = 0
thisSet = []
table = []
for td in tds
thisRow = parseInt($(td).attr('data-row'))
if marker == thisRow
rc = "#{$(td).attr('data-row')}-#{$(td).attr('data-column')}"
thisSet.push ({data: rc})
console.log "marker:#{marker}, thisRow:#{thisRow}"
else
rc = "#{$(td).attr('data-row')}-#{$(td).attr('data-column')}"
thisSet.push ({data: rc})
marker = thisRow
console.log "marker:#{marker}, thisRow:#{thisRow}"
table.push thisSet
thisSet = []
console.log table
console.log _.flatten(table).length
更新: OK、もう少し作業を進めました。5 行目ではなく 4 行が解析されました。何かが欠けていますが、4 行は正常に解析されます。
tds = $('td')
currentRow = 0
thisSet = []
table = []
for td in tds
thisRow = parseInt($(td).attr('data-row'))
rc = "#{$(td).attr('data-row')}-#{$(td).attr('data-column')}"
if currentRow != thisRow
table.push thisSet
thisSet = []
thisSet.push ({data: rc})
currentRow = thisRow
else
thisSet.push ({data: rc})
console.log table
console.log _.flatten(table).length