我有一个名为'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.
答案 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
}
}
});
}