2012-10-10 41 views
1

我有一个ColdFusion cfform包含:如何通过JavaScript或jQuery从cfinput获取onblur input id或tabIndex?

<cfinput type="text" name="part1" id="part1" tabIndex="1" onblur="enabled()" > 
<cfinput type="text" name="part2" id="part2" tabIndex="2" onblur="enabled()" disabled="disabled" > 
<cfinput type="text" name="part3" id="part3" tabIndex="3" onblur="enabled()" disabled="disabled" > 

我想要的是禁用,除非它的前一个不为空,让输入框,所以我做到了这一点:

function enabled() 
{ 
    var curIndex = + ($(" * : focus ").attr(" tabIndex ")); 
    var curVal = $(' * : input [ tabIndex=' + curIndex + ' ] ').val(); 
    var nextIndex = curIndex + 1; 
    var nextId = $(' input [ tabIndex = " ' + nextIndex + ' " ] ').attr(" id "); 
    if (curVal == "") 
    { 
     nextId.setAttribute(' disabled ', ' disabled '); 
    } 
    else 
    { 
     nextId.removeAttribute(' disabled '); 
     nextId.focus(); 
    } 
} 

但我还是坚持了越来越curIndex ,当我提醒它时,它出现“未定义”。
任何建议表示赞赏。

回答

1

什么:

​$('input[type=text][name^=part]').on('blur',function(){​​​​​​​​​​​ 
    var el = $(this); 
    var elNext = el.next('input[type=text][name^=part]'); 
    if(el.val()!=''){ 
     elNext.removeAttr('disabled'); 
    }else{ 
     elNext.attr('disabled',true); 
    } 
}); 

所以你不需要在输入的处理程序:

<cfinput type="text" name="part1" id="part1" tabIndex="1" > 
<cfinput type="text" name="part2" id="part2" tabIndex="2" disabled="disabled" > 
<cfinput type="text" name="part3" id="part3" tabIndex="3" disabled="disabled" > 

Demo

+0

它的工作完美,谢谢! – squarer

相关问题