2013-07-11 89 views
0

由於各種原因,我想更改下面的代碼以查找數據屬性而不是名爲「mygroup」的類。jquery使用data-id並禁用並清除輸入字段

HTML

<select id="apply"> 
    <option value="email">Email</option> 
    <option value="website">Website</option> 
</select> 
<input type="text" class="input" id="email" placeholder="[email protected]" data-id="application"/> 
<input type="text" class="input" id="website" placeholder="www.example.com" data-id="application"/> 
<textarea class="input" rows="4" cols="50" placeholder="text*" data-id="applicationdetails"></textarea> 

JS

// Apply Fields 
function applyField() { 
    $(document).on('change', '#apply',function() { 
     var selected = $(this).find(':selected').val(), 
      elem = $("#"+selected); 
     $(".mygroup").addClass('hidden'); 
     elem.removeClass('hidden'); 
    }); 
    $("#apply").trigger('change'); 
}; 

FIDDLE

如何更改上面的代碼應用到 「應用程序」,而不是使用類 「MYGROUP」 的數據-ID。對於獎勵積分,任何人都可以告訴我如何清除隱藏字段的內容並禁用它?

+0

的可能重複的[如何選擇jQuery的數據-id和數據動作](HTTP:/ /stackoverflow.com/questions/7278854/how-to-select-data-id-and-data-action-in-jquery) – revolver

回答

4

您只需稱其爲$('[data-id="application"]')

至於結算和禁用,使用.prop().val('')

$('[data-id="application"]').addClass('hidden').prop('disabled', true).val(''); 
elem.removeClass('hidden').prop('disabled', false); 

DEMO

1

嘗試使用屬性選擇器,具有屬性data-id即所有元素,而不是上課myClass

function applyField() { 
    $(document).on('change', '#apply',function() { 
     var selected = $(this).find(':selected').val(), 
      elem = $("#"+selected); 
     $("input[data-id]").addClass('hidden'); 
     elem.removeClass('hidden'); 
    }); 
    $("#apply").trigger('change'); 
}; 

jQuery(function($){ 
    applyField(); 
}); 

演示:Fiddle

相關問題