2016-06-07 117 views
0

我對JQuery一點也不熟悉,但我想知道是否可以在操作中更改所有具有相同ID的元素。更改具有相同ID的多個元素

$(document).ready(function() { 
    document.getElementById("id_scheduled_time").disabled = true; 
    document.getElementById("id_scheduled_day").disabled = true; 
}); 

$('#id_schedule_type').on('change', function() { 
    if ($("#id_schedule_type").prop('selectedIndex') == 0) { 
     document.getElementById("id_scheduled_time").disabled = true; 
     document.getElementById("id_scheduled_day").disabled = true; 

    } 
    else { 
     document.getElementById("id_scheduled_time").disabled = false; 
     document.getElementById("id_scheduled_day").disabled = false; 
    }; 
}); 


$('#id_scheduled_period').on('change', function() { 
    if ($("#id_scheduled_period").prop('selectedIndex') == 2) { 
     $('#id_scheduled_minute').attr("placeholder","Insert number 1-15").val(""); 
    } else { 
     $('#id_scheduled_minute').attr("placeholder","Insert number 1-45").val(""); 
    }; 
}); 

是的,這段代碼看起來像狗屎,但它現在工作。我的問題是,有多個選項卡與選擇框和輸入字段都具有相同的ID(例如id_scheduled_time

現在它是這樣做,它在一個單一的選項卡中工作正常,但沒有爲其他ID的。 這裏的問題是:如何更改選擇索引的相同方式的所有元素

+9

由於'id'屬性*必須*在文檔中是唯一的,所以你的問題是沒有意義的。如果你想分組元素,請使用一個類。 –

+0

您必須使用類而不是id,id必須是唯一的。 – talentedandrew

+0

您可能想使用具有相同'class'而不是'id'的元素。 – Azamantes

回答

10

而不是選擇具有$('#my-id')的元素,您可以使用$('[id="my-id"]')來選擇所有元素。

但是,由於所有的評論提到你應該切換到類。 ID不能在頁面上多次使用。

0

如果您不能添加類此元素,但目標元素有父有確切類我建議這樣的:

$(".parentClassName:nth-child(3)") 
// The number 3 is a sample index of element inside its parent 

或醜陋的方式,你可以得到所有這些元素:

$('[id="id_scheduled_time"]') 
相關問題