Javascript jquery从选择框中获取列表中所有项的索引
我有一个选择框,如:Javascript jquery从选择框中获取列表中所有项的索引,javascript,jquery,Javascript,Jquery,我有一个选择框,如: <select name="blah" id="meh"> <option value="1">Car</option> <option value="2">Horse</option> <option value="3">Van</option> </select> 我想做的是从select中获取与json中的值匹配的索引,并且我想从select中获取不在json中的索引。因
<select name="blah" id="meh">
<option value="1">Car</option>
<option value="2">Horse</option>
<option value="3">Van</option>
</select>
我想做的是从select中获取与json中的值匹配的索引,并且我想从select中获取不在json中的索引。因此,我编写了以下代码:
$.map( data, function( item ) {
$('#meh option').filter(function() {
if($(this).text() == item.label){
$('ul.chzn-results').append('<li id="meh_chzn_o_'+$(this).index()+'" class="active-result">' + item.label + '</li>');
}
});
});
现在,我得到了json中的索引;然而,我正在努力获取那些不在json中的内容,然后执行$'meh_chzn_c'+$this.index+'.remove;在那些不属于json的部分上。看起来您的json是乱七八糟的
{ id="1", label="Car", value="1"}
所有的键值对都应该在双引号中。
以及由冒号分隔的键值对:
因此,您的json应该如下所示
[
{ "id" : "1", "label" : "Car", "value" :"1"},
{ "id" : "3", "label" : "Van" , "value" : "3"}
]
json对象修复后,这就是输出
因此,我提出了以下代码来解决此问题:
$.getJSON(surl+'contacts/_ajax/ajax_listTribes.cfm?bIsAjax=true&lstTribeIDs='+lsttribeids, function(data) {
var arrids = $.map(data,function(obj){ return obj.id });
$('#lstTribeIDs option').each(function(){
if( $.inArray($(this).val() , arrids) != -1 ) {
//do stuff
} else {
//do other stuff
}
});
});
因此,获取JSON对象的“id”部分并转换为数组,然后在my上循环并检查current的值是否在我的数组中。这根本不能回答问题。是的,但我正在尝试获取JSON中存在的select中所有项的索引列表,以及select中json中不存在的所有项索引的列表。
$.getJSON(surl+'contacts/_ajax/ajax_listTribes.cfm?bIsAjax=true&lstTribeIDs='+lsttribeids, function(data) {
var arrids = $.map(data,function(obj){ return obj.id });
$('#lstTribeIDs option').each(function(){
if( $.inArray($(this).val() , arrids) != -1 ) {
//do stuff
} else {
//do other stuff
}
});
});