Jquery复选框未被检查

时间:2014-06-27 17:57:48

标签: jquery ajax json checkbox

我有一个名为'getData'的函数,它包含一个ajax调用,它通过json成功返回我的数据(一个动态创建的水果列表)。我有另一个名为'AddFruit'的函数,当用户单击一个将文本值输入文本框的按钮并且该值与我的json数据中包含的值之一不匹配时,应检查复选框。

例如,如果从ajax调用返回的数据是{'orange','apple','pear'},并且用户单击了一个将'banana'添加到文本框的按钮,则应选中我的复选框。

以下是我到目前为止所尝试的内容:

  function AddFruit(data) {
                     var fruit = $("#Fruit").val(); //the value of input text box that gets populated when a user clicks '#ButtonAdd' button.

                     $("#ButtonAdd").click(function() {
                     $.each(data, function (item) {
                   if ($('fruit:contains(" + data[item] + ")'))
                        {
                          $("#Oldform").prop ("checked", false);
                        } else
                            {
                                $("#Oldform").prop ("checked", true);
                            }
                         });
                   });
              }

  getData().done(AddFruit); // when the ajax call is successfully completed, run the AddFruit function.

2 个答案:

答案 0 :(得分:0)

您在致电;后忘记了prop()

答案 1 :(得分:0)

要搜索从ajax调用返回的数据,需要带有break语句的for循环。当数据中的元素与文本输入匹配时,for循环退出。

var ajaxData = null;

  function AddFruit(data){
            ajaxData = data;
                $("#Button").click(function(){
                 for (var i = 0; i < data.length; i++){ 
                    if (data[i] == $("#Fruit").val())
                   {
                    //leave check box unchecked
                    break;
                    }
                    else{
                    //check check box
                    }
                 }
             });
          }