drupal의 목록 드롭 다운으로 .change
이벤트를 처리하기 위해 동적 jQuery 코드를 만들려고했습니다. (아래 그림 참조)이이 입력 필드 중 하나 위의 레이블을 변경하도록되어동적 jQuery 이벤트 핸들러
jQuery(document).ready(function($) {
$("#edit-submitted-row-1-program").change(function() {
if($(this).val() === 'DreamSpark Standard'){
$("label[for='edit-submitted-row-1-extended-department-name'").html('Campus Name');
console.log('Yes it is supposed to change!');
} else {
$("label[for='edit-submitted-row-1-extended-department-name'").html('Extended department name');
}
console.log($(this).val());
}).change();
}
});
을 '드림 스파크 표준'가 선택되어있는 경우 : 그래서 같은 사업부 ID를 하드 코딩 할 때 제대로 작동하려면 얻었다.
그러나, 내가 일을 끝내고 싶은 것은이 같은 것입니다 :
당신이 필요한만큼 줄을 추가 할 수 있으며, 이벤트 핸들러가 적절한의 레이블을 변경합니다 레이블.
다음 코드를 시도했지만 확실히 for()
루프를 수행하고 있으므로 foreach()
또는 이와 유사한 코드를 사용해야합니다. 여기
jQuery(document).ready(function($) {
for (var i = 0; i < 5; i++) {
$("#edit-submitted-row-" + i + "-program").change(function() {
var j = i;
if($(this).val() === 'DreamSpark Standard'){
$("label[for='edit-submitted-row-" + j + "-extended-department-name'").html('Campus Name');
console.log('Yes it is supposed to change!');
} else {
$("label[for='edit-submitted-row-" + j + "-extended-department-name'").html('Extended department name');
}
console.log($(this).val());
}).change();
}
});
는 중요한 HTML 코드의 조각입니다 :
이
<div id="webform-component-row-1" class="webform-layout-box horiz">
<div class="form-item webform-component webform-component-textfield" id="webform-component-row-1--subscription-id">
<label for="edit-submitted-row-1-subscription-id">Subscription ID <span class="form-required" title="This field is required.">*</span></label>
<input type="text" id="edit-submitted-row-1-subscription-id" name="submitted[row_1][subscription_id]" value="" size="18" maxlength="128" class="form-text required" />
</div>
<div class="form-item webform-component webform-component-select" id="webform-component-row-1--program">
<label for="edit-submitted-row-1-program">Program <span class="form-required" title="This field is required.">*</span></label>
<select id="edit-submitted-row-1-program" name="submitted[row_1][program]" class="form-select required"><option value="" selected="selected">- Select -</option><option value="DreamSpark Premium">DreamSpark Premium</option><option value="DreamSpark Standard">DreamSpark Standard</option><option value="Other">Other</option></select>
</div>
<div class="form-item webform-component webform-component-textfield" id="webform-component-row-1--extended-department-name">
<label for="edit-submitted-row-1-extended-department-name">Extended department name </label>
<input type="text" id="edit-submitted-row-1-extended-department-name" name="submitted[row_1][extended_department_name]" value="" size="26" maxlength="128" class="form-text" />
</div>
</div>
(각 행이 1 씩 증가되므로, 다음 행이 될 '웹 양식 구성 요소 - 행 2'와 것 등)
내가 드루팔을 통해 같은 HTML 마크 업 data-
태그 또는 여분의 물건을 추가 할 수 없습니다, 난 그냥 주어진 클래스와 ID의 출력과 함께 일해야 명심하십시오!
고마워요! 그들은 당신이 아직 존재하지 않는 요소에 대한 이벤트를 결합 할 수 있도록로
그것은 좋아 보인다!그러나 라벨에 클래스를 추가 한 것 같습니다 : ''드루팔 (Drupal)을 통해 해당 클래스를 추가 할 수는 없지만. 'for '를 사용하여 어떻게 할 수 있습니까? –
@RyanClarke 속성을 수정할 수 없습니까? –
속성을 편집 할 수 있지만 drupal에서 동적으로 레이블을 추가 할 때 드루팔 (drupal)에서 해당 레이블에 클래스를 추가 할 수 없습니다. S 편집 : 다시 알려 드리겠습니다. Drupal을 찾을 수 있습니다. 플러그인을 통해 수업에 추가 할 수 있습니다. –