Radio Checkbox Select 操作

一个小总结

<!DOCTYPE html>
<html>
<head>
<meta name="description" content="[radio and checkbox]">
  <meta charset="utf-8">
  <title>JS Bin</title>
  <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
</head>
<body>
<label for="ra1">ra1
<input name="ra" type="radio" id="ra1" value="ra1" checked/>  
</label>  

<label for="ra2">ra2
<input  name="ra" type="radio" id="ra2" value="ra2"/>  
</label>  
  
<label for="ra3">ra3
<input  name="ra" type="radio" id="ra3" value="ra3"/>  
</label>    
<p>.</p>
<label for="cb1">cb1
<input name="cb" type="checkbox" id="cb1" value="cb1" checked/>  
</label>  

<label for="cb2">cb2
<input  name="cb" type="checkbox" id="cb2" value="cb2"/>  
</label>  
  
<label for="cb3">cb3
<input  name="cb" type="checkbox" id="cb3" value="cb3"/>  
</label>    
<p>.</p>
<select name="sel1" id="single">
  <option value="op1" selected="selected">op1</option>
  <option value="op2">op2</option>
  <option value="op3">op3</option>
  <option value="op4">op4</option>
  <option value="op5">op5</option>
</select>
  
</body>
</html>

JS

//radio默认选择 获取到对应的radio然后修改checked属性
document.querySelectorAll('input[type=radio]')[2].checked = true;
document.querySelector('input[value=ra2]').checked = true;

//:是jQ中的子元素过滤 OR 表单选择器
// 这里是表单选择器
// 子元素过滤选择器是 first-child之类
//这里是默认选择value值为ra2的那个
$('input:radio').val(['ra2']);
//也可以修改checked属性
$('input[value=ra2]:radio').attr('checked', true);


function getRadios(){
  var radios = document.querySelectorAll('input[type=radio]');
  for(var i = radios.length-1 ; i>= 0; i--){
    console.log(radios[i].value + '-' +radios[i].checked);
  }
  
  console.log();
}

getRadios();
//**********************************************************
//对于checkbox也是如此
//PS querySelector和$('')都支持多属性选择器
// 这里是在原有选择项的基础上选中cb2
document.querySelector('input[value=cb2][type=checkbox]').checked = true;

// 这句话不同 这不是在原有选择的基础上再选择cb2  cb3 
//而是使这个name为cb的checkbox 默认值就是cb2 cb3
$('input[name=cb]:checkbox').val(['cb2', 'cb3']);
$('input[name=cb][value=cb1]:checkbox').attr('checked', true);

function getCheckbox(){
  // jQ的表单的选择器很好  可以直接选择出 checked的元素
  var cbs = $('input[name=cb]:checked');
  $.each(cbs, function(idx, item){
    console.log($(item).val());
  });
  cbs.each(function(idx, element){
    console.log($(this).val());
    console.log($(element).val());
    console.log(element.value + '-' + element.checked);    
  });
}

getCheckbox();

//**********************************************

var single = document.querySelector('#single');

//默认选择项  和HTML的默认选中方法一样  即先得到你想要选中的option 然后修改它的select值
var optDefault = document.querySelectorAll('option[value=op2]')[0];
optDefault.selected =  true;
//OR 这样根据顺序选择
single.options[2].selected = true;

//jQ的方式很简洁
$('#single').val('op3'); 

function getSelection(){
  //selectedIndex表示选中项的下标  然后从options中得到这个选中的option
  console.log(single.options[single.selectedIndex].value);
  console.log($('#single').val()); 
}

getSelection();

 

posted @ 2015-04-30 00:41  cart55free99  阅读(423)  评论(0编辑  收藏  举报