我有一个 ColdFusion cfform,其中包含:
<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,当我提醒它时,它似乎"未定义"。
任何建议不胜感激。
怎么样:
$('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" >
演示