2016-05-13 65 views
0

我得到了多個燈箱,但只有一個鏈接變化「的」屬性

<label class="btn" for="modal-2">more...</label> 

我想要的「for」屬性更改爲「模態-3」時與ID輸入「 id3「被選中,當選擇」id4「時,選擇」modal-4「等。 當我手動更改」for「屬性時,它可以工作,但我不想一直改變我的代碼只是打開另一個模式: D

    $(document).ready(function() { 

         $("#id3").on("change", function() { 
         if (document.getElementById("id3").checked) { 
          $('.btn').attr('for', 'modal-4'); 
         } 
         }); 
        }); 

我已經得到了這個,這將無法正常工作。在我的html文件中,我的網站頭部有另一個腳本標記。這會影響我的其他腳本嗎?

+0

什麼是錯誤訊息您收到?你可以附上一個jsfiddle嗎? –

+0

我沒有收到錯誤消息。它只是不起作用。 –

+0

但是在您的標籤中,您沒有任何ID。 –

回答

0

如果選擇「id爲id3」的輸入時,選擇「id4」時爲「modal-4」,那麼選擇什麼意思?您提供的代碼將在id =「id3」的HTML元素的值發生更改時執行。這不是你想要的。

+0

id3和id4是輸入的id。我想根據選擇哪個輸入來更改「for」屬性 –

+0

輸入無法選擇......我不知道你在說什麼。 –

2

爲您的燈箱使用類,如「燈箱」。

然後你可以在一個函數中寫:

$(document).ready(function() { 

    $('.lightbox').on("change", function() { 
     if ($(this):is('checked')) { 
        id = $(this).attr('id'); 
        num = id.substr(2); // for instance id3 will get you 3 
        $('.btn').attr('for', 'modal-'+num); 
        } 
        }); 
       }); 
+0

我可能誤解了這個問題,但我認爲他的意思是他需要一種方法來製作每一個模態項目,並且只有在手動輸入ID號碼時才設法做到這一點。 – zoubida13

+0

不,對不起 - 我是白癡並誤讀他的問題lol –

+0

這裏是一個jsfiddle:https://jsfiddle.net/xn5k5edk/1/問題是,所有的時間,相同的燈箱出現。但是我想打開另一張燈箱,例如當第三張照片被選中時。 –