使用ajax更改选择框1中带有标记的国家/地区的值

时间:2015-06-11 07:36:36

标签: javascript jquery html ajax

我被困在一个点,我需要在ajax resp之后填充国家但是它没有显示在这里选择的是图像 if i am selecting the african countries i should get only the united kingdom in select box 2 which i am getting but it is not selected as you can see in the image

如果我选择非洲国家以外的其他国家,我应该得到所有国家的下拉,我可以在图片中看到,但第一个没有被选中,因为你可以在图片中看到 enter image description here

这是我在jquery中的代码

        var country_data=countries;
            $.ajax({
            type: "POST",
            url: "ukcountry_ajax.php",
            datatype:"json",
            data:{ country:country_data}
        }).done(function( data ) 
                {

            var final_country=JSON.parse(data);

            var $select=$('#tocurrency');
            $select.find('option').remove();
            $("#tocurrency").select2('data', {id: '', text: ''}); 
            $.each(final_country,function(index) 
            {

                var image=final_country[index].final_image;
                var name=final_country[index].countryname;
                $('#tocurrency').append("<option value="+image+">"+name+"</option>");

            });

        });

可以任何身体建议我错在哪里代码很好,例如,铬和FF但没有被选中选择框中的第一个国家,因为它显示为空 TIA

1 个答案:

答案 0 :(得分:1)

您可以通过first child元素将其作为选定值来执行此操作。 删除此行

$("#tocurrency").select2('data', {id: '', text: ''});

并像这样更新你的each循环

$.each(final_country,function(index) 
{
        var image=final_country[index].final_image;
        var name=final_country[index].countryname;
        if(index==0)
        {
            $('#tocurrency').append("<option selected value="+image+">"+name+"</option>");

        }
        else{
        $('#tocurrency').append("<option value="+image+">"+name+"</option>");
        }

    });

$("#tocurrency").select2('data', {id: $('#tocurrency option:first-child').val(), text:$('#tocurrency option:first-child').text() }); 

我希望它会有所帮助。谢谢