检查输入是文本框,选择,文本区域还是收音机

时间:2012-06-26 20:42:07

标签: jquery

我有一个包含不同html输入字段的表单...

1) <input type="text">
2) <textarea></textarea> 
3) <input type="checkbox">
4) <input type="radio">
5) <select></select>

如何使用jQuery确定输入字段的类型。 例如:如果我想检查输入=“选择”,那么就做一些事情。

8 个答案:

答案 0 :(得分:16)

$('input') // selects all types of inputs
$('input:checkbox') // selects checkboxes
$('select') // selects select element
$('input:radio') // selects radio inputs
$('input[type="text"]') // selects text inputs

您可以使用event.target.type,这会提醒您inputtextreaselect是哪种类型的事件目标。

$('input, textarea, select').change(function(event){
   alert(event.target.type)
})

http://jsfiddle.net/Q4BNH/

答案 1 :(得分:10)

您可以使用jquery的.is()。例如

  if ( $(this).is("input") )   //or 
  if ( $(this).is('input:text') )

更多信息here

答案 2 :(得分:2)

您可以使用:input作为选择器遍历所有表单元素。由于selecttextarea元素没有type属性,因此您要使用.is()

   $(':input').each(function(){
       if($(this).is('select')){
          var inputType = 'select';
       }else if($(this).is('input:text')){
          var inputType = 'text';
       }else if($(this).is('input:checkbox')){
          var inputType = 'checkbox';
       }
       console.log('input type = '+inputType+');
    });

答案 3 :(得分:1)

1,3,4:

$("input").attr('type');

答案 4 :(得分:1)

我建议你使用JQuery语法

http://api.jquery.com/is/

的内容
$(document).ready(function() {
    var items = $("input");
    if(items.first().is("input[type=text]")) {
     alert("Text type");            
    }
});

你可以在这里查看 http://jsfiddle.net/JRLn9/2/

答案 5 :(得分:1)

var tipo = $('#elemento14').attr('type');

答案 6 :(得分:1)

您可以通过编写一个将拉出每个元素的选择器来完成此操作,然后您可以遍历它们并检查类型。像这样:

$('input, textarea, select').each(function() {
    var el = $(this);
    if(el.is('input')) { //we are dealing with an input
        var type = el.attr('type'); //will either be 'text', 'radio', or 'checkbox
    } else if(el.is('select')) { //we are dealing with a select
        //code here
    } else { //we are dealing with a textarea
        //code here
    }
});

答案 7 :(得分:-1)

使用.focus(); ?

http://jsfiddle.net/U9Raa/