2013-03-11 63 views
2

我有一個數組說jQuery的複選框 - 檢查數組中的值,並檢查這些值

{'Sunday','Wednesday', 'Thursday'} 

我有整整一個星期天覆選框。

HTML code 
<tr> 
    <td width="3%"></td> 
    <td><input type="checkbox" name="weeklyDay" 
      id="sunday" value="sunday"> Sunday 
    </td> 
    <td><input type="checkbox" name="weeklyDay" 
      checked id="monday" value="monday"> Monday 
    </td> 
    <td><input type="checkbox" name="weeklyDay" 
      id="tuesday" value="tuesday"> Tuesday 
    </td> 
    <td><input type="checkbox" name="weeklyDay" 
      id="wednesday" value="wednesday"> Wednesday 
    </td> 
</tr> 
<tr> 
    <td width="3%"></td> 
    <td><input type="checkbox" checked 
      name="thursday" id="thursday" value="thursday"> Thursday 
    </td> 
    <td><input type="checkbox" name="weeklyDay" 
      id="friday" value="friday"> Friday 
    </td> 
    <td><input type="checkbox" name="weeklyDay" 
      id="saturday" value="saturday"> Saturday 
    </td> 
</tr> 

我想找出只有星期日,星期三和星期四,並檢查這三個。怎麼做? 有人可以幫助我檢查基於數組值更改的多個框? 感謝

+0

讓我們來看看HTML這些複選框。你什麼時候想把它們設置爲'checked'? – 2013-03-11 10:04:06

+0

我將從服務器接收數據,並基於此我必須選擇複選框。我編輯了添加html的文章。 – sahana 2013-03-11 10:33:46

回答

2

您可以使用過濾器來filter()元素,並且使用indexOf()在星期幾陣列相匹配的選項將在本週陣列,

var weekArray = {'Sunday','Wednesday', 'Thursday'}; 
$('select[name="Day"] option').filter(function(){ 
    if(weekArray.indexOf((this).text(), 0) != -1) 
     return $(this); 
}).prop("checked", true); 
+1

在jQuery中沒有':option'選擇器,在'select [name =「Day」]'和'option'之間應該有一個空格,你應該使用'.prop()'而不是'.attr()'將它們設置爲選中(未選中)。然而,這是所有不相關的,因爲問題說複選框(雖然可能已經在你發佈你的答案後編輯)。 – 2013-03-11 10:03:38

+0

謝謝@AnthonyGrist。 – Adil 2013-03-11 10:06:08

+0

var ds = $(「#Day」)。val()。split(/ + /); // ds星期天,星期三,星期四值。 var weekArray = []; alert(「ds length」+ ds.length);對於(var i = 0; i sahana 2013-03-13 06:29:49