日期:2014-05-16  浏览次数:20382 次

求助这个JS
  <input type="text" id="txtColor" value="red,Blue" />
  <input type="text" id="txtQuantity" value="2,3" />
  <input type="button" value="test" onClick="f()" /><br/>
  <table id="tb1">
<tr class="tdData">
<td>
<label><input type="checkbox" class="cbColor" value="red" checked>
Red</label><br/>
</td>
<td>数量
  <input type="text" class="txtQuantity" value="2" size="3" />
</td>
</tr>
<tr class="tdData">
<td>
  <label><input type="checkbox" class="cbColor" value="green">Green</label><br/>
</td>
<td>
数量
  <input type="text" class="txtQuantity" size="3" />
  </td>
</tr>
<tr class="tdData">
<td>
<label><input type="checkbox" class="cbColor" value="blue" checked>
Blue</label><br/>
</td>
<td>
数量
  <input type="text" class="txtQuantity" value="3" size="3" />
  </td>
</tr>
<tr class="tdData">
<td>
<label><input type="checkbox" class="cbColor" value="pink">Pink</label><br/>
</td>
<td>
数量
  <input type="text" class="txtQuantity" size="3" />
  </td>
</tr>
  </table>

这个f()怎么写???

------解决方案--------------------
用jquery 了吗
------解决方案--------------------
不难呀,遍历所有被选中的,得到选中的颜色项的数量,然后把颜色字符和数量分别拼接成字符串(多个以英文逗号分隔)
------解决方案--------------------
function f() {
var table = document.getElementById('tb1');
var rows = table.rows; // 获取所有的行,即tr
for(var i=0;i<rows.length;i++) {
var currentRow = rows[i];// 当前行
// 得到checkbox
var checkbox = currentRow.cells[0].getElementsByTagName('input')[0];
// 得到输入框
var text = rows[i].cells[1].getElementsByTagName('input')[0];

if(checkbox.checked) {
if(text.value) {
alert('保存' + checkbox.value)
}else{
alert('不保存' + checkbox.value)
}
}
}
}