当关注其他文本框时,选中上一个复选框?

时间:2014-09-26 04:11:23

标签: jquery input

$(document).ready(function() {
    $("input#Q4_5other").focus(function() {
        $(this).prev().prop("checked", True);
    });
});

一旦有人开始在“其他”文本字段中输入内容,我会尝试“检查”一个复选框。有人可以与我分享这样做的最佳做法吗?感谢。

3 个答案:

答案 0 :(得分:1)

我建议如下:检查何时输入但在离开或编辑内容时测试值

 $(function() {
  $("#Q4_5other")
    .on('focus', function() {
       $(this).prev().prop("checked", true);
    })
    .on('blur keyup', function() {
      $(this).prev().prop("checked", $.trim(this.value)!="");
});

答案 1 :(得分:1)

在问题下方的评论部分回答提问者问题,现在提问者扩展了问题,所以我在这里发布答案。

尝试绑定多个事件'focus ,blur, keyup',如下所示:

$(document).ready(function() {
    $("#Q4_5other").on('focus blur keyup', function()() {
        $(this).prev().prop("checked", $.trim($(this).val()) != "");       
    });
});

Working DEMO

编辑: - 根据提问者评论(输入字段在标签内)尝试:

$(document).ready(function() {
   $("#Q4_5other").on('focus blur keyup', function() {
      $(this).prev().find('input[type=checkbox]').prop("checked",$.trim($(this).val()) != "");    
   });
});

Working DEMO

注意: - 由于提问者没有给出DOM结构,所以我只是根据问题下面的评论中给出的网站链接发布答案。

答案 2 :(得分:0)

fiddle

$(document).ready(function() {
    $("input").keyup(function() {
       // alert('d');
       $(this).prev("input[type=checkbox]").prop("checked", true);;
    });
});