페이지의 일부 입력은 아니지만 일부 입력의 경우 일부 입력 상자 입력을 숨겨진 입력으로 변경해야합니다.
<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에서 작동 할 것이라고 거의 확신합니다.