我有一個約40個複選框和選擇(全部由web應用程序代碼動態構建)的頁面,我希望使用以下(工作)jQuery塊。我不想做的是必須爲每個複選框等重複此代碼。我不知道什麼是最好的方法來處理這個,因爲我不是一個JavaScript/jQuery專家。如何重構這個重複的jQuery代碼
有沒有人有以下代碼可以重構與任意數量的複選框和選擇一起使用的建議。目標是查詢數據庫並構建複選框列表並從中選擇。
編輯:此代碼需要火的個人複選框,其隱藏的選擇,而不是所有的複選框 - 抱歉,我沒有讓從原來的文章:)
$('#ssp_checkbox').change (function() {
$('#ssp_container').fadeIn();
});
$('#ssp_select').change(function() {
$('#ssp_addon').fadeIn().html('<i class="icon-ok"></i> ' + $('#ssp_select').val() + ' SSPs Ordered ' + '<button type="button" id="ssp_remove" class="btn btn-mini btn-danger">Remove</button>');
$('#ssp_container').fadeOut();
})
$(document).on('click', '#ssp_remove', function(){
$('#ssp_select').val('0');
$('#addons').find('#ssp_addon').fadeOut('slow');
$('#ssp_checkbox').attr('checked', false);
countChecked();
})
說清楚
編輯: 這是HTML的片段 - 有關於這40個,它們具有不同的ID,但在其他方面是相同的:
<!-- Civil Search/ServCode Prefix: civil/FIELDS: civil_checkbox, civil_select -->
<div class="row-fluid">
<div class="span12">
<!-- civil -->
<label class="checkbox">Civil Search
<input type="checkbox" class="" name="civil_checkbox" id="civil_checkbox">
</label>
</div><!--/Civil Search Span -->
</div><!--/Civil Search Row -->
<!-- Civil Search Select/FIELDS: civil_select -->
<div class="row-fluid addon-select-container" id="civil_select-container">
<div class="span12">
<!-- civil_select -->
<label for="">Number of Services to Add:</label>
<select class="span2" name="civil_select" id="civil_select">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</div><!--/Civil Search Addon Select Span -->
</div><!--/Civil Search Addon Select Row -->
謝謝!
你能提供的標記(HTML)呢?你所談論的內容就足夠了,而不是全部。 – Femaref
然後在一個函數裏面做所有的事情。該函數將採用select和checkbox元素的id作爲參數。或者,也許所有的ID都遵循相同的方案,在這種情況下,您只需發送唯一的位「ssp」,也許呢?然後你可以用一個id數組(或包含所有必要的id作爲屬性的對象)在for循環中調用函數。 –
在一個非常通用的級別,你可以把一個類放在那些重複的項目上,然後使用jquery類選擇器('.'而不是''''作爲ID)。 – ethorn10