각 필드 래퍼에 여러 값 필드 세트가있는 양식이 있고 내부 div는 ID가 1로 증가하여 ID를 구분합니다. 개별 필드 집합 내의 확인란 양식 항목에 체크 박스가 선택되어 있으면 해당 필드 집합 내에있는 양식 항목을 감싸는 div를 숨겨야합니다. 문제는 ID의 이름이 문자열 중간에 고유 한 값을 포함한다는 것입니다. 예 : "# beginningofIDSting- X -endofStringName". ID를 변경하거나 클래스를 래퍼에 추가 할 수 없습니다.Jquery select 양식 항목의 ID 증가시키기
<div id="edit-field-gallery-images-0-ahah-wrapper">
<div id="edit-field-gallery-images-0-data-revise-wrapper" class="form-item">
<label class="option" for="edit-field-gallery-images-0-data-revise">
<input id="edit-field-gallery-images-0-data-revise"
class="form-checkbox revise-check"
type="checkbox" checked="checked"
value="1" name="field_gallery_images[0][data][revise]">
Revise This Description
</label>
</div>
<div id="edit-field-gallery-images-0-data-revisedby-wrapper" class="form-item">
//Stuff in Here
</div>
<div id="edit-field-gallery-images-0-data-revisedon-wrapper" class="form-item">
//Stuff in Here
</div>
</div>//End #edit-field-gallery-images-0-data-revisedby-wrapper
<div id="edit-field-gallery-images-1-ahah-wrapper">
<div id="edit-field-gallery-images-1-data-revise-wrapper" class="form-item">
<label class="option" for="edit-field-gallery-images-1-data-revise">
<input id="edit-field-gallery-images-1-data-revise"
class="form-checkbox revise-check"
type="checkbox" checked="checked"
value="0" name="field_gallery_images[1][data][revise]">
Revise This Description
</label>
</div>
//Stuff in Here
</div>
<div id="edit-field-gallery-images-1-data-revisedby-wrapper" class="form-item">
<div id="edit-field-gallery-images-1-data-revisedon-wrapper" class="form-item">
//Stuff in Here
</div>
</div>//End #edit-field-gallery-images-1-data-revisedby-wrapper
은 여기 내 JQuery와
$("input[type='checkbox'][id$='-data-revise']:checked").each(function(){
$(this).next("[id$=-data-revisedby-wrapper]").hide();
$(this).find("[id$=-data-revisedon-wrapper]").hide();
});
내가 jfriend00 년대와 user625037의 솔루션 comination을 사용합니다. 여기있다 : 나는 당신의 질문을 이해하면
$("div[id$=data-revisedby-wrapper]").hide();
$("div[id$=data-revisedon-wrapper]").hide();
$("input[id^=edit-field-gallery-images]:checked").each(function() {
var startPos = "edit-field-gallery-images-".length;
var endPos = this.id.indexOf("-", startPos);
var id = this.id.substring(startPos, endPos);
$("div[id$="+id+"-data-revisedby-wrapper]").show();
$("div[id$="+id+"-data-revisedon-wrapper]").show();
});
$(".revise-check").change(function() {
if(this.checked) {
$("#" + this.id + "by-wrapper").fadeIn();
$("#" + this.id + "on-wrapper").fadeIn();
}
else{
$("#" + this.id + "by-wrapper").fadeOut();
$("#" + this.id + "on-wrapper").fadeOut();
}
});
글쎄, 증분 명명 규칙으로 ID 중 하나에있는 체크 박스가 선택되어 있는지 확인해야하는 경우. 숫자가 증가하는 것과는 다른 이름을 가진 ID가 여러 개 있습니다. ID의 이름이 증가하는 값 때문인지 모르기 때문에 나는 단지 하나의 ID를 대상으로 할 수 없습니다. – landing
체크 아웃 jQuery의^선택기 ... 그것은 시작 부분에만 일치 ... http://api.jquery.com/category/selectors/ – ndp
내 jquery 있지만 그 대상으로 할 수 없습니다. 올바른 div. – landing