Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery JSON对象下拉列表中的不同值_Jquery_Ajax_Json - Fatal编程技术网

Jquery JSON对象下拉列表中的不同值

Jquery JSON对象下拉列表中的不同值,jquery,ajax,json,Jquery,Ajax,Json,我试图使用下面的代码将不同的值提取到下拉列表中,但它没有带来唯一的字符串,有人能帮忙吗 函数构建\优化搜索\癌症\组合(){ $(“#组合列表癌症类型”).empty(); var列表=[]; var htmlResults='选择癌症类型U2;'; 对于(变量i=0;i

我试图使用下面的代码将不同的值提取到下拉列表中,但它没有带来唯一的字符串,有人能帮忙吗

函数构建\优化搜索\癌症\组合(){

$(“#组合列表癌症类型”).empty();
var列表=[];
var htmlResults='选择癌症类型U2;';
对于(变量i=0;i
似乎您希望保留已发现癌症的列表,而不必重新添加这些癌症

如果是这样,不要每次都重新分配列表。检查我们的新事物是否在列表中,如果不在,则添加到列表中

var list = [];
var htmlResults = '<option value="-1" selected>Select cancer type_</option>';
for (var i = 0; i < user.length; i++) {

    CancerID = user[i].FKCancerTypeID;
    Cancer = user[i].Cancer;

    if ($.inArray(Cancer, list) < 0) {
      htmlResults += '<option value="' + CancerID + '">' + Cancer + '</option>';
      list.push(Cancer);
    }
}
var list=[];
var htmlResults='选择癌症类型U2;';
对于(变量i=0;i
$(“#组合列表癌症类型”).html(函数(){
var ret='选择癌症类型u33;',
u=用户.slice(),
arr=[];
(函数get(){
如果(u.长度){
var v=u.移位();
if($.inArray(v.FKCancerTypeID,arr)=-1){
arr.push(v.FKCancerTypeID);
ret+=''与癌症的关系+'';
}
get();
}
}());
返回ret;
});

什么是
用户
?你能做一把小提琴来复制这个问题吗?嗨,这是本页上的精炼搜索>癌症类型,你能做小提琴吗?比开发人员页面更容易操作?您好,Paul,您的解决方案看起来不错,但现在它没有在下拉列表中添加任何内容,您知道原因吗?----------------------------------------------编辑-当列表中有元素时,inArray返回>=0。
var list = [];
var htmlResults = '<option value="-1" selected>Select cancer type_</option>';
for (var i = 0; i < user.length; i++) {

    CancerID = user[i].FKCancerTypeID;
    Cancer = user[i].Cancer;

    if ($.inArray(Cancer, list) < 0) {
      htmlResults += '<option value="' + CancerID + '">' + Cancer + '</option>';
      list.push(Cancer);
    }
}
$('#combolist-cancer-type').html(function() {
    var ret = '<option value="-1" selected>Select cancer type_</option>',
        u   = user.slice(),
        arr = [];

    (function get() {
        if (u.length) {
            var v = u.shift();
            if ( $.inArray(v.FKCancerTypeID, arr) == -1 ) {
                arr.push(v.FKCancerTypeID);
                ret += '<option value="' + v.FKCancerTypeID + '">' + v.Cancer + '</option>';
            }
            get();
        }
    }());

    return ret;
});