2015-04-07 222 views
0

我想檢查複選框上的選擇選項的值。從選中複選框上的選擇選項獲取值

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+'] '; 

IM成功獲得來自兩個值(checkbox.checked +選擇選項),但是當我不是選中第二個複選框,從它獲得價值所有選擇選項。 問題是,如何從選中的複選框上的選項中獲取值。

由於之前,

+0

請參見[56, 「問題‘’包括在他們的頭銜?」 標籤(http://meta.stackexchange.com/問題/ 19190 /應該問題包括標籤在他們的標題),其中共識是「不,他們不應該」! –

回答

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); 
    } 
} 
+0

大聲笑,非常感謝mkaminsky,太棒了! –