2015-10-13 108 views
0

我有一些动态创建的按钮。当它们被按下时,.disabled类被添加到它们中,并且text()被输入到输入字段中。当输入字段为空时,我想删除disabled类。我正在检查这个密钥。我没有成功做到这一点,并希望得到一些帮助。使用键盘从动态创建按钮中删除类

这里是我的jQuery:

绑定事件: $languageInput.on('keyup', _resetLanguageTags)

功能:

function _resetLanguageTags(){ 
     if($(this).val() == ''){ 
      console.log('empty'); 
      $('button').each(function(){ 
       $(this).removeClass('disabled'); 
      }); 
     } 
    } 

正如你所看到的,我有一个console.log('empty');,以确保输入是空的,它当输入实际上是空的时候正在工作。

+0

请完全重复的例子。 – Roope

+0

这真的好像是一个调试问题。你是否试图在函数内部放置一个断点来确保$('button')真的是你认为的那个?你有没有试过在循环内添加一个断点,看看它是否正在执行? – tpdietz

+0

你知道,如果它们是动态创建的,你将无法获得具有该事件侦听器的所有按钮。它只会在document.ready函数的时间注册,除非你使用事件委托,它看起来像'$ languageInput.on('keyup','#whateverTheParentElementIs',_resetLanguageTags)' – OceansOnPluto

回答

0

我这个例子会使用disabled属性帮助:

<button disabled>a</button> 

,并删除残疾人提供:

$(this).prop('disabled', false);

enter link description here