更改:function(event,ui)取消选中jquery中的复选复选框不起作用

时间:2013-12-19 23:11:17

标签: jquery autocomplete

我在Jquery中创建了一个简单的脚本,它有一系列带自动完成的文本框。 从自动完成中选择值时,将选择与自动完成值具有相同ID的相应复选框。 选择部分工作正常,我试图找出当自动完成的值更改时如何取消选中选中的复选框。我可以检测到更改但我不确定如何取消选中复选框。

这是我的代码。

  $(function () {
    var availableTags = ["ActionScript", "AppleScript", "Asp", "BASIC",
        "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang",
        "Fortran", "Groovy", "Haskell", "Java", "JavaScript", "Lisp",
        "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme", "eewjdskjuwwe"];
    $("#tags").autocomplete({
        source: availableTags,
        select: function (event, ui) {

            var txtbx1 = (ui.item.value);
            $("#tags").val(txtbx1);
            var tags = $("#tags").val(txtbx1);
            var checkboxval = "";
            checkboxval = tags.val();
            //alert($(tags).val());
            $("#" + checkboxval + "").prop("checked", true);

        },
        change: function (event, ui) {
            alert(checkboxval);
        }
    });

我知道这与这行代码有关但我有点卡住了。我哪里出错了?这是我的JS小提琴的链接:http://jsfiddle.net/lauriewilliams/45yQH/13/

  change: function (event, ui) {
            alert(checkboxval);
        }

编辑:这是工作解决方案。 http://jsfiddle.net/lauriewilliams/45yQH/22/

2 个答案:

答案 0 :(得分:0)

问题源于checkboxval

change:变量不存在的事实

如果您复制用于查找checkboxval变量的代码,那么您将获得更好的运气。

答案 1 :(得分:0)

搞定了。我创建了一个全局变量,可以在另一个函数内部访问。这是解决方案:jsfiddle.net/lauriewilliams/45yQH/22现在我只需要弄清楚如何在第一次将值放入文本框时触发更改功能。