我在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/
答案 0 :(得分:0)
问题源于checkboxval
change:
变量不存在的事实
如果您复制用于查找checkboxval
变量的代码,那么您将获得更好的运气。
答案 1 :(得分:0)
搞定了。我创建了一个全局变量,可以在另一个函数内部访问。这是解决方案:jsfiddle.net/lauriewilliams/45yQH/22现在我只需要弄清楚如何在第一次将值放入文本框时触发更改功能。