2016-01-24 91 views
0

我有两个列表,一个有地区,另一个有邮政编码。当我从一个列表中选择一个区域时,我想要在另一个列表中突出显示正确的邮政编码。当我加载页面时,我必须动态添加邮政编码。 postalCodes被添加并显示得很好,但我无法用jQuery找到正确的postalCode,所以我决定将我的postalList转储到控制台以查看它的外观。输出显示选项为空“0 {} 1 {} 2 {} 3 {} 4 {} 5 {}”。jQuery无法找到附加到列表的选项

看看我的功能。

function GetPostal() { 
$.ajax({ 
    type: "GET", 
    url: api_url + 'home/Area/GetPostal', 
    success: function(_d) { 
     $.each(_d, function(postal) { 
      $('select[name="postalList"]').append($('<option/>', { 
       value: _d[postal].Id, 
       text: _d[postal].Name 
      })); 
     }); 
     console.log(JSON.stringify($('select[name="postalList"]'))); 
    } 
}).fail(function(_d) { 
    //Handle error 
    }); 
} 

回答

1

$('select[name="postalList"]')试图字符串化是不是一个JSON对象,这是一个jQuery的构造的对象。它是jQuery找到的DOM元素的包装器。要确保选择选项在那里,你可以做console.dir($('select[name="postalList"]').find('option'))

您可以通过值$('[value="yourOptionValueAttribute"]')找到一个选项,只需将yourOptionValueAttribute替换为您从_d[postal].Id获得的值即可。如果你想添加一个ID到你的选项,你可以做$('#yourOptionId')

+0

非常感谢你,这是一个非常准确和简洁的答案,并且非常完美。谢谢!! – BriceTRockindale

+0

很高兴听到!你非常欢迎! –