考え方はほぼ同じ、ただし「スマートな方法」かどうかはちょっと疑問
javascript
1$(function(){
2 $('#check').on('click',function(){
3 $(this).closest('form').find('input,select').each(function(){
4 var ret;
5 if($(this).filter('input:text').length>0){
6 ret=$(this).val()==$(this).attr("value");
7 }else if($(this).filter('select').length>0){
8 var idx1=$(this).find("option").index($(this).find("option[selected]"));
9 var idx2=$(this).find("option").index($(this).find("option:selected"));
10 ret=(idx1==idx2) || (idx1==-1 && idx2==0);
11 }else{
12 return false;
13 }
14 console.log(ret);
15 });
16 });
17});
18
HTML
1<form>
2<input type="text" value="">
3<select>
4<option value="">-</option>
5<option value="1">1</option>
6<option value="2">2</option>
7<option value="3">3</option>
8</select>
9<select>
10<option value="">-</option>
11<option value="1" selected>1</option>
12<option value="2">2</option>
13<option value="3">3</option>
14</select>
15<input type="button" value="check" id="check">
16</form>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/25 23:03