[jquery] 유형 및 이름 별 입력 대상 (선택기)

페이지의 일부 입력은 아니지만 일부 입력의 경우 일부 입력 상자 입력을 숨겨진 입력으로 변경해야합니다.

<input type="checkbox" name="ProductCode"value="396P4"> 
<input type="checkbox" name="ProductCode"value="401P4"> 
<input type="checkbox" name="ProductCode"value="F460129">

아래의 jquery 코드는 유형별로 입력 만 선택하므로 모든 확인란이 숨겨진 입력으로 변경됩니다. input = “checkbox”및 name = “ProductCode”유형을 모두 선택기로 확인하는 방법이 있습니까? 내가 바꾸고 싶어?

$("input[type='checkbox']").each(function(){
var name = $(this).attr('name'); // grab name of original
var value = $(this).attr('value'); // grab value of original
var html = '<input type="hidden" name="'+name+'" value="'+value+'" />';
$(this).after(html).remove(); // add new, then remove original input
});



답변

다중 속성 선택기를 원합니다

$("input[type='checkbox'][name='ProductCode']").each(function(){ ...

또는

$("input:checkbox[name='ProductCode']").each(function(){ ...

CSS 클래스를 사용하여 선택하려는 항목을 식별하는 것이 좋지만 많은 최신 브라우저 document.getElementsByClassName가 요소를 선택하는 데 사용되는 메소드를 구현 하고 name속성으로 선택하는 것보다 훨씬 빠릅니다.


답변

이 방법으로 속성 선택기를 결합 할 수 있습니다.

$("[attr1=val][attr2=val]")...

요소가 두 조건을 모두 만족시켜야합니다. 물론 두 개 이상 사용할 수 있습니다. 또한하지 마십시오 [type=checkbox]. jQuery에는 선택기가 있습니다. 즉 :checkbox최종 결과는 다음과 같습니다.

$("input:checkbox[name=ProductCode]")...

속성 선택기는 느리기 때문에 가능한 경우 ID 및 클래스 선택기를 사용하는 것이 좋습니다. 마크 업을 다음과 같이 변경할 수 있습니다.

<input type="checkbox" class="ProductCode" name="ProductCode"value="396P4">
<input type="checkbox" class="ProductCode" name="ProductCode"value="401P4">
<input type="checkbox" class="ProductCode" name="ProductCode"value="F460129">

훨씬 빠른 선택기 를 사용할 수 있습니다 .

$("input.ProductCode")...


답변

input[type='checkbox', name='ProductCode']

이것이 CSS 방식이며 jQuery에서 작동 할 것이라고 거의 확신합니다.


답변