2015-06-24 78 views
-1

我有這個html,我需要根據一個參數選擇特定的複選框。假設我的參數是15,所以我需要找到data-id = 15,然後獲取關聯的複選框並以編程方式檢查此複選框。我試圖使用jquery,但我不是很熟悉這一點。我需要從id =「org_container_1」的div開始搜索。使用JQuery檢查複選框

<div class="department-container" id="org_container_1"> 
      <div class="row department-row" data-typeid="1" data-id="14">      
       <label> 
        <input type="checkbox">      
        <span class="department-item">Org1</span> 
       </label>           
      </div> 
      <div class="row department-row" data-typeid="1" data-id="15">      
       <label> 
        <input type="checkbox">      
        <span class="department-item">Org2</span> 
       </label>           
      </div> 
      <div class="row department-row" data-typeid="1" data-id="16">      
       <label> 
        <input type="checkbox">      
        <span class="department-item">Org3</span> 
       </label>           
      </div> 

+1

你有什麼試過的?如果沒有嘗試解決您的問題,不要指望太多的幫助。 – mittmemo

+0

使用$ .each()jquery方法遍歷每個div。 – Robin

回答

0

另一種選擇:

var param='15'; 
 
$('.department-container .department-row').each(function(){ 
 
    if($(this).attr('data-id')==param){ 
 
     $('input', this).attr('checked','checked'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<div class="department-container" id="org_container_1"> 
 
    <div class="row department-row" data-typeid="1" data-id="14">      
 
       <label> 
 
        <input type="checkbox">      
 
        <span class="department-item">Org1</span> 
 
       </label>           
 
      </div> 
 
      <div class="row department-row" data-typeid="1" data-id="15">      
 
       <label> 
 
        <input type="checkbox">      
 
        <span class="department-item">Org2</span> 
 
       </label>           
 
      </div> 
 
      <div class="row department-row" data-typeid="1" data-id="16">      
 
       <label> 
 
        <input type="checkbox">      
 
        <span class="department-item">Org3</span> 
 
       </label>           
 
      </div>

+0

謝謝。現在我有一個更好的主意。 – cmonti

0

,所以你要在這裏用兩件事情。首先是正確的jQuery選擇,第二個是設置#attr('checked', true)

$('div[data-id="' + id + '"] input[type=checkbox').attr('checked', true) 

(你幾乎要在過程中的一個函數來包裝這個,但因爲你havnt提供您的JS是什麼樣子,我沒有任何背景您打電話的地方)

1

您可以使用選擇器通過data-id使用數據屬性選擇器[data-attribute-name=data-attribute-value]選擇您的div。然後選中與input[type=checkbox]複選框,並使用.prop()函數進行檢查。

$().ready(function() { 
 
    $('div[data-id=15] input[type=checkbox]').prop('checked', true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="department-container" id="org_container_1"> 
 
    <div class="row department-row" data-typeid="1" data-id="14"> 
 
    <label> 
 
     <input type="checkbox"> 
 
     <span class="department-item">Org1</span> 
 
    </label> 
 
    </div> 
 
    <div class="row department-row" data-typeid="1" data-id="15"> 
 
    <label> 
 
     <input type="checkbox"> 
 
     <span class="department-item">Org2</span> 
 
    </label> 
 
    </div> 
 
    <div class="row department-row" data-typeid="1" data-id="16"> 
 
    <label> 
 
     <input type="checkbox"> 
 
     <span class="department-item">Org3</span> 
 
    </label> 
 
    </div>

1

試試這個:

var param = 15; 
$('[data-id="' + param + '"]').find('input').prop('checked',true); 

Fiddle