2015-11-09 170 views
-1

我正在复制div #Play_Start。我在div内有一个事件在从下拉菜单中选择播放时,它将播放文本隐藏起来。隐藏div内的元素

它在第一格上工作正常。但doesen't在重复的div上工作。 我想要隐藏选择特定格下拉播放选项的绿色div。 例如:从div下拉选择播放选项,它应该隐藏只有该div的绿色div而不是其他。

和其他divs相同。它应该隐藏选择同一div下拉选项的绿色div。

My fiddle here : http://jsfiddle.net/kgm50e43/2/ 

目前它只适用于第一个div而不适用于其他重复的div。

+1

我相信,随着重复ID控制导致的问题。 '$('#Inputs-Control').val()'将获取第一个值。 – Rajesh

+0

任何工作?请建议一个例子会很好。 – Vinayak

+0

您是否收到一条错误消息,告诉您如果链接到JS Fiddle,您还必须在该问题中包含代码?你是否通过告诉Stackoverflow来处理JS JS Fiddle的链接是你的代码?不要这样做。 **把你的代码放在问题**中。你可以[不需要第三方托管就可以嵌入实例](https://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/)! – Quentin

回答

1

有你的代码的多个问题,

  1. 要复制的ID的。 Id应该是唯一的。你需要用类名替换它。
  2. 您不需要从元素编写内联函数调用。您可以使用jQuery将事件绑定到元素。
  3. 由于您正在动态创建元素,因此您需要使用委托来绑定元素。

然后你可以使用这样的,

$(document).on("change", ".Inputs-Control", function() { 
    $(this).closest(".Play_Start").find('.IconTest').hide(); 
}); 

Fiddle

+0

它隐藏所有的绿色按钮 – Vinayak

+0

看到这@Vinayak http://jsfiddle.net/kgm50e43/7/ –

+0

Thanx兄弟它帮助 – Vinayak

0

复制元素时请勿使用ID。你应该只有1个ID(唯一)。你应该使用类。

我想这就是你要找的。我不会为你编写代码 - 但你应该能够使用它来弄清楚它。

$('.input-control').on('change', function(){ 
    var val = $(this).val(); 

    if(val === "0"){ 
     $(this).parent().find('.hide-me').hide(); 
    } 
});