while ループを使用して作成された複数のフォームを含むページがあり、各フォームには 4 つの選択があります。現在のフォーム(クリックされたボタンを含むフォーム)に属する各選択をチェックして、選択されているかどうかを確認する方法を考えています。すべてのフォームは、 という 1 つの div にラップされてい#audit_content
ます。
意図は、変数grade
が特定の値でない場合、スクリプトが選択のいずれかが選択されているかどうかを確認することです。
(値$i
は while ループ中に作成され、各フォームを一意に識別するために使用されます)
html
<form id="audit_form<? echo $i; ?>">
<select name="grade" class="grade<? echo $i; ?>">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<select>
<select name="patient" class="reason_select">
<option value="">Select</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select name="exposure" class="reason_select">
<option value="">Select</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select name="equipment" class="reason_select">
<option value="">Select</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select name="positioning" class="reason_select">
<option value="">Select</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input type="button" name="audit_submit" class="audit_submit audit_submit_btn ie7_submit" value="" />
<input type="hidden" class="form_id" value="<? echo $i; ?>" >
</form>
JQuery
<script>
$(document).ready(function(){
$('#audit_content').on("click", ".audit_submit", function(){
var form_id = $(this).prev('.form_id').val();
var grade = $('.grade'+form_id).val();
if(grade != 1){
$('select.reason_select').each(function(){
alert($(this).text())
}
});
</script>
reason_select
スクリプトは、特定のフォームをチェックするように指示していないため、ページ上のクラスを使用してすべての選択の値を表示します。