[jquery] jquery를 사용하여 입력 유형을 얻는 방법은 무엇입니까?

입력 유형이 항상 다른 페이지가 있으며 입력 유형에 따라 값을 가져와야합니다. 따라서 유형이 라디오 인 경우 어느 것이 선택되어 있는지 확인해야합니다. 확인란이면 이제 어느 것이 선택되어 있는지 확인해야합니다. 드롭 다운 인 경우 어느 것이 선택되어 있는지 알고 있어야합니다. 텍스트 / 텍스트 영역 값을 알아야합니다.

그 방법에 대한 아이디어가 있습니까?



답변

이 답변의 인기와 속성 및 속성에 관한 버전 1.9 (및 2.0)의 jQuery 변경으로 인해 입력에 대한 속성 / 속성에 액세스 할 때의 작동 방식을 확인하기 위해 메모와 바이올린을 추가했습니다. 버튼과 일부 선택. 여기에 바이올린 : http://jsfiddle.net/pVBU8/1/


모든 입력을 얻으십시오 :

var allInputs = $(":input");

모든 입력 유형을 얻으십시오.

allInputs.attr('type');

값을 얻으십시오 :

allInputs.val();

참고 : .val ()은 관련이있는 유형에 대해 : checked와 동일하지 않습니다. 사용하다:

.attr("checked");

편집 : 2013 년 2 월 1 일-re : jQuery 1.9 attr ()이 아닌 prop ()을 사용하십시오 .attr은 변경된 속성에 적절한 값을 반환하지 않기 때문입니다.

.prop('checked');

또는 단순히

$(this).checked;

수표의 가치를 얻으려면-현재 수표가 무엇이든간에. 또는“: checked ”를 사용하여 확인 된 항목 만 원하는 경우에만 사용하십시오.

편집 : 다음은 유형을 얻는 또 다른 방법입니다.

var allCheckboxes=$('[type=checkbox]');

EDIT2 : 다음의 형식에 유의하십시오.

$('input:radio');

이상하다

$(':radio');

둘 다와 동일합니다.

$('input[type=radio]');

그러나 “입력”이 바람직하므로 입력 만 가져오고 다음과 같은 형식을 $(':radio')사용할 때 범용 ‘*’를 사용하지 않습니다.$('*:radio');

편집 2015 년 8 월 19 일 : $('input[type=radio]');최신 브라우저가 라디오 입력 검색을 최적화 할 수 있도록 선호 사항을 사용해야합니다.


의견 수정 2013 년 2 월 1 일 다시 : 요소 @dariomac 선택

$('select').prop("type");

“multiple”속성에 따라 “select-one”또는 “select-multiple”을 반환합니다.

$('select')[0].type 

첫 번째 선택 (있는 경우)에 대해 동일을 반환합니다. 과

($('select')[0]?$('select')[0].type:"howdy") 

존재하는 경우 유형을 반환하거나 존재하지 않는 경우 “howdy”를 반환합니다.

 $('select').prop('type');

DOM에서 첫 번째 속성이 존재하는 경우 속성을 반환하거나 존재하지 않는 경우 “정의되지 않음”

$('select').type

존재하는 경우 첫 번째 유형이 있거나 존재하지 않는 경우 오류를 리턴합니다.


답변

다음을 수행 할 수 있습니다.

var inputType = $('#inputid').attr('type');


답변

당신이 말하는 것은 입력 유형에 대해 걱정하지 않고 값을 가진 폼 안에 모든 입력을 가져 오려면 다음과 같이하십시오.

예 : http://jsfiddle.net/nfLfa/

var $inputs = $('form').find(':checked,:selected,:text,textarea').filter(function() {
    return $.trim( this.value ) != '';
});

이제 값이있는 입력 요소 세트가 있어야합니다.

배열에 값을 넣을 수 있습니다.

var array = $inputs.map(function(){
    return this.value;
}).get();

또는 직렬화 할 수 있습니다.

var serialized = $inputs.serialize();


답변

GetValue = function(id) {
  var tag = this.tagName;
  var type = this.attr("type");

  if (tag == "input" && (type == "checkbox" || type == "radio"))
    return this.is(":checked");

  return this.val();
};


답변

$("#yourobj").attr('type');


답변

보고 시작하기 가장 좋은 곳은 http://api.jquery.com/category/selectors/

이것은 당신에게 좋은 예를 줄 것입니다.

Ultamatly DOM에서 요소 선택은 CSS 선택기를 사용하여 이루어 지므로 id로 요소를 얻는 것에 대해 생각할 경우 모든 입력 태그가 $ ( ‘input’)을 사용하려면 $ ( ‘# elementId’)를 사용하려고합니다 마지막으로 체크 박스 유형의 모든 입력 태그에 $ ( ‘input, [type = checkbox])를 사용하려는 경우 원하는 부분을 완성하십시오.

참고 : 속성에있는 대부분의 값을 찾을 수 있으므로 속성에 대한 CSS 선택기는 다음과 같습니다. [attributeName = value]

목록 상자와 관련하여 드롭 다운을 요청했기 때문에 다음을 시도하십시오.


$('select, [size]).each(function(){
  var selectedItem = $('select, [select]', this).first();
});

코드는 메모리에서 온 것이므로 작은 오류가 발생했을 때주의하십시오


답변

var val = $('input:checkbox:checked, input:radio:checked, \
   select option:selected, textarea, input:text',
   $('#container')).val();

코멘트:

  1. 텍스트 영역, 입력 필드, 선택 양식, 단일 선택 단추 세트 또는 단일 체크 박스가 될 수있는 하나의 양식 요소 가 있다고 가정 합니다 (더 많은 체크 상자가 필요한 경우 코드를 업데이트해야 함).

  2. 해당 요소는 ID가있는 요소 안에 있습니다 container(페이지의 다른 요소와 모호함을 제거하기 위해).

  3. 그런 다음 코드는 찾은 첫 번째 일치하는 요소 의 값을 반환합니다 . 내가 계속 사용 :checked하고 있기 때문에 이것은 항상 당신이 찾고있는 것의 가치이어야합니다.