Javascript jquery不聚焦所选项目
我有以下代码: 如果用户在文本输入中输入值,请选中相关复选框 验证用户输入是否重复,警告并聚焦用户插入错误值的文本输入 这是我的代码:Javascript jquery不聚焦所选项目,javascript,jquery,Javascript,Jquery,我有以下代码: 如果用户在文本输入中输入值,请选中相关复选框 验证用户输入是否重复,警告并聚焦用户插入错误值的文本输入 这是我的代码: $('.seq').blur(function(){ if($(this).val()!=''){ $(this).closest(".percheckbox").find("input:checkbox:first").prop("checked", true); if ($('.seq').not(this).val
$('.seq').blur(function(){
if($(this).val()!=''){
$(this).closest(".percheckbox").find("input:checkbox:first").prop("checked", true);
if ($('.seq').not(this).val() == $(this).val()) {
alert('Duplicated entry. Change it please.');
console.log($(this).attr('name'));
$(this).focus();
}
}else if ($(this).val()=='') {
$(this).closest(".percheckbox").find("input:checkbox:first").prop("checked", false);
}
});
唯一不起作用的一点是$this.focus;即使console.log显示“this”是正确的元素
编辑:这是html:
<div class="sez-form">
<fieldset>
<legend>Messaggi inclusi</legend>
<?php $i = 0; foreach($msgs as $msg) { ?>
<div class="percheckbox">
<input class="checkseq" type="checkbox" name="messaggio[<?php echo $i; ?>]" value="<?php echo $msg['id']; ?>">
<?php echo $msg['nome']; ?>
<br>
<label>Ordine: </label><input class="seq" size="2" maxlength="2" type="text" name="ordine[<?php echo $i; ?>]">
</div>
<?php $i += 1; } ?>
<br style="clear: both;">
</div>
很抱歉,错误的代码格式,但我仍然有一些问题与stackoverlow文本编辑 您的代码实际上可以工作,请检查以下内容: 检查您的其他代码是否与之冲突。我会删除所有其他代码并检查是否有效,然后逐段重新添加其他代码 Stackoverflow不允许我在没有代码的情况下回答,所以这里是我使用的html代码,JS代码没有改变
<div class="sez-form">
<fieldset>
<legend>Messaggi inclusi</legend>
<div class="percheckbox">
<input class="checkseq" type="checkbox" name="messaggio0" value="0"/>
0
<br>
<label>Ordine: </label>
<input class="seq" size="2" maxlength="2" type="text" name="ordine0"/>
</div>
<div class="percheckbox">
<input class="checkseq" type="checkbox" name="messaggio1" value="1"/>
1
<br>
<label>Ordine: </label>
<input class="seq" size="2" maxlength="2" type="text" name="ordine1"/>
</div>
</fieldset>
<br style="clear: both;">
</div>
要在列表后设置正确的格式,请在列表和代码之间设置一行。事件hmtl注释将起作用。此外,在模糊事件中提醒和聚焦也是非常糟糕的做法。您需要在所有浏览器中使用超时来处理这两个建议。警报将被DOM本身中的另一个通知替换。无论如何,在这种情况下,我将检查超时函数的使用情况!你绝对应该缓存$this。你说@dl3是什么意思?为什么我要更改$this?我们可以看到html吗?