2016-05-13 66 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/问题是,所有的时间,相同的灯箱出现。但是我想打开另一张灯箱,例如当第三张照片被选中时。 –