一、表单控件之表单

1、依次获取表单里的所有控件:

for (i = 0; i < document.getElementById("formName").length; i++) {
  var ob = document.getElementById(formName).elements[i];
  if(ob.value=='') //......
}

2、获取某个控件:

document.getElementById("formName").elements['elementNameOrInputId'];

3、获取某组控件:

如需要知道一组radio或checkbox中的勾选情况:

<form>
<input type="checkbox" name="coffee" value="奶油">奶油<br />
<input type="checkbox" name="coffee" value="糖块">糖块<br />
<input type="checkbox" name="coffee" value="白兰地">白兰地<br />
</form>

利用相同的name:

coffee=document.forms[0].coffee
for (i=0;i<coffee.length;++ i)
{ if (coffee[i].checked) { //......}}

4、表单元素有disabled和readonly之分:

  • disabled的项目不会提交;
  • readonly的项目会提交;

二、表单控件之select

1、可以通过设置下拉框的高度和字体来控制下拉框的大小和选项的字体大小,

select{height:30px;font-size:20px;}有效,设置option{height:30px;font-size:20px;}则无效

(即option的高度总是select字体的大小,而select的高度则可以与字体大小无关),但background和color则对二者都有效,

(截图来自chrome,在IE8中第二个select中字体是底部对齐的,即使设置:select{vertical-align:middle;}也无效)我觉得原因是对select和option分别设置背景颜色和字体颜色不会互相干扰,而对二者设置高度和字体大小无法达到统一。

2、不仅可以设置下拉框不可用,还可以设置某个选项不可用/选:

$('#option1').attr('disabled',true);        或       document.getElementById('option1').disabled=true;

3、为下拉框添加新选项:添加到末尾:

$("#select1").append("<option value='11'>11</option>");

4、获取选中项的选中索引、文本、值、option个数:

var index = obj.selectedIndex;        或  $(".selector option:selected").index();  // 获取选中索引
var text = obj.options[index].text; 或 $(".selector option:selected").text(); // 获取选中文本
var value = obj.options[index].value; 或 $('select').val(); // 获取选中值
var count= obj.options.length; 或 $(".selector option").length; // 获取option个数

5、设置选中项的选中索引、值、文本:

obj.selectedIndex=2;         或      obj.options[i].selected=true;     
或 $('select option:eq(2)').attr("selected",true); //设置选中索引
推荐 $(".selector").val("v"); 而非 $('select option[value='+v+']').attr("selected",true);
//设置选中值
$(".selector").find("option[text='文本']").attr("selected",true);
//设置选中文本

注:对于可以多重选择的<select id='select1' multiple> selectedIndex和value都只代表第一个选中项,必须用for遍历

6、select下拉框只支持disabled属性,不支持readOnly属性(因为select本身就是只读的),设置readOnly是无效的,radio也是如此。为了能够提交,可以使select不设置disabled, 但是让用户无法改变select 的选中项.

setSelectReadOnly(document.getElementById("select1"));
function setSelectReadOnly(obj){
if(obj){
obj.style.color = 'gray';
var beginIndex=obj.selectedIndex;
obj.onclick=function(){obj.selectedIndex=beginIndex;}
}

7、多个select级联:

如第二个下拉框选项根据第一个下拉框的选中项的不同而不同

$(".selector1").change(function(){
$(".selector2").empty();// 先清空第二个
var option = $("<option>").val(1).text("pxx");// 根据实际情况(循环)生成多个选项
$(".selector2").append(option);}

表单控件之select的更多相关文章

  1. Bootstrap 表单控件一(单行输入框input,下拉选择框select ,文本域textarea)

    单行输入框,常见的文本输入框,也就是input的type属性值为text.在Bootstrap中使用input时也必须添加type类型,如果没有指定type类型,将无法得到正确的样式,因为Bootst ...

  2. Vue#表单控件绑定

    使用v-model 在表单控件上实现数据双向绑定. 单选:https://jsfiddle.net/miloer/bs49p0fx/ <input type="checkbox&quo ...

  3. 了解HTML表单之13个表单控件

    目录 传统控件 button select option optgroup textarea fieldset legend label 新增控件 datalist keygen output pro ...

  4. wicket基础应用(2)--wicket表单控件的使用

    该文可以转载,但转载必须注明作者,出处: 作者:lhx1026 出处:http://lhx1026.iteye.com/ 这一章介绍wicket表单控件的简单应用 1.Label控件 这个应该说是最常 ...

  5. Bootstrap系列 -- 18. 表单控件大小

    前面看到的表单控件都正常的大小.可以通过设置控件的height,line-height,padding和font-size等属性来实现控件的高度设置.不过Bootstrap框架还提供了两个不同的类名, ...

  6. Vue.js学习 Item9 – 表单控件绑定

    基础用法 可以用 v-model 指令在表单控件元素上创建双向数据绑定.根据控件类型它自动选取正确的方法更新元素.尽管有点神奇,v-model 不过是语法糖,在用户输入事件中更新数据,以及特别处理一些 ...

  7. 我教女朋友学编程Html系列(6)—Html常用表单控件

    做过网页的人都知道,html表单控件十分重要.基本上我们注册会员.登录用户,都需要填写用户名.密码,那些框框都是表单控件. 本来今天就想写一些常用的html表单控件,于是开始搜资料,找到了一个网页,作 ...

  8. CSS3美化表单控件

    表单的默认控件在不同的浏览器中的样式不同,用户体验很差.用CSS3可以实现表单控件的美化,可以提供更好的用户体验.不足之处就是浏览器的兼容性问题. 一.下拉控件 效果图: 下拉控件的布局结构: < ...

  9. Bootstrap_表单_表单控件

    一.输入框input 单行输入框,常见的文本输入框,也就是input的type属性值为text. 在Bootstrap中使用input时也必须添加type类型,如果没有指定type类型,将无法得到正确 ...

随机推荐

  1. ios对SQLite3的使用

    ios对SQLite3的使用 一.在Firefox中打开sqlite3(如果没有,选择工具->附加组件,添加即可)新建sqlite3数据库,Contacts, 建立一个members表,字段 i ...

  2. SJA1000寄存器设置

    在设置CAN控制器SJA1000的输出控制寄存器(OCR)时,由于电路图中只用到了TX0和RX0,所以只考虑OCTP0,OCTN0,OCPOL0.这里设置成了010.然后查了一下配置的表,如下所示: ...

  3. assets文件夹资源的访问

    访问assets文件夹中的文件,分为以下几个步骤:1.在Activity里面调用getAssets(),获取AssetManager引用2.调用AssetManager.open(String fil ...

  4. HDU_1241——石油探索DFS

    Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground ...

  5. python 学习资料

    Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...

  6. iframe切换内容页仍然能自适应大小代码(含js)

    function setIframeHeight(iframe) { if (iframe) { var iframeWin = iframe.contentWindow || iframe.cont ...

  7. layPage异步分页

    layPage分页,参照官网实例写了一份.如下: function InitDataByPage(curr) { ; $.getJSON("InitDataByPage", { & ...

  8. [转]Android 网络通信框架Volley简介(Google IO 2013)

    Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v= ...

  9. Spring + mybatis整合方案总结 结合实例应用

    Spring + mybatis整合实例应用 项目结构图 (Spring3.0.2 +mybatis3.0.4) 方案一: 通过配置文件整合Spring和mybatis 应用数据库 -- --数据库 ...

  10. Flex中的折线图

    1.问题背景 在Flex中,制作一个折线图.而且给折线图的横轴和纵轴进行样式设置,详细实现过程例如以下: 2.实现实例 (1)设置横轴样式和数据绑定 <mx:horizontalAxis> ...