从选中复选框上的选项中获取值

时间:2015-04-07 11:12:22

标签: javascript jquery

我想从复选框上的选项中获取价值复选框。

HTML:

<tr>
<td><input type="checkbox" value="1" class="sum">
Data 1 :
<select name="valid">
<option value="1">1</option>
<option value="2">2</option>
</select>
</td>
</tr>

<tr>
<td><input type="checkbox" value="2" class="sum">
Data 1 :
<select name="valid">
<option value="1">1</option>
<option value="2">2</option>
</select>
</td>
</tr>

JS:

var checked = document.querySelectorAll('input[type=checkbox]:checked.sum');
var values = [];
for(var i = 0; i < checked.length; i++) {
  values.push(checked[i].value);
}
var j = values.join(',');
var jVal = 'im confused here, i need get value from select option on checked checkbox'
window.location=' ?page=token&mode=pass&values=['+join+']&option_val=['+jVal+'] ';

我成功从两者中获取值(checkbox.checked + select选项)但是当我没有选中第二个复选框时,它从所有选择选项中获取值。 问题是,如何从选中复选框上的选项中获取值。

之前感谢,

2 个答案:

答案 0 :(得分:0)

var checkedValue = document.querySelector('.messageCheckbox:checked').value;

jQuery的:

var checkedValue = $('.messageCheckbox:checked').val();

Get the value of checked checkbox?

答案 1 :(得分:0)

这是一个粗略的解决方案。您必须使用data-select手动指定<select>元素的ID。

<强> HTML

<input type="checkbox" data-select="select1">

<select id="select1">
    <option value="1">1</option>
    <option value="2">2</option> 
</select>

<input type="checkbox" data-select="select2" checked>

<select id="select2">
    <option value="1">1</option>
    <option value="2">2</option> 
</select>

<强> JS

var checked = document.querySelectorAll('input');
var values = [];
for(var i = 0; i < checked.length; i++){
    if(checked[i].checked){
         var select_id = checked[i].getAttribute("data-select");
         values.push(document.getElementById(select_id).value);
    }
}