2013-09-25 88 views
3

這裏選擇選擇的值是我的html代碼無法設置使用jQuery

<select id="ddlCountry" placeholder="optional" class="select" title="Select Country"> 
<option value="0">Select Country</option> 
</select> 

這裏是jQuery代碼.....

$(document).ready(function() { 

    $('select.select').each(function() { 
    var title = $(this).attr('title'); 
    if ($('option:selected', this).val() != '') { 
     title = $('option:selected', this).text(); 
     $(this) 
     .css({ 
      'z-index': 10, 
      'opacity': 0, 
      '-khtml-appearance': 'none' 
     }) 
     .after('<span class="select">' + title + '</span>') 
     .change(function() { 
      val = $('option:selected', this).text(); 
      $(this).next().text(val); 
     }) 
    } 
    }); 


    var country = [{ 
    "CountryID": 1, 
    "CountryName": "Afghanistan" 
    }, { 
    "CountryID": 2, 
    "CountryName": "Albania" 
    }, { 
    "CountryID": 3, 
    "CountryName": "Algeria" 
    }, { 
    "CountryID": 4, 
    "CountryName": "American Samoa" 
    }, { 
    "CountryID": 5, 
    "CountryName": "Andorra" 
    }, { 
    "CountryID": 6, 
    "CountryName": "Angola" 
    }, { 
    "CountryID": 7, 
    "CountryName": "Anguilla" 
    }, { 
    "CountryID": 8, 
    "CountryName": "Antarctica" 
    }, { 
    "CountryID": 9, 
    "CountryName": "Antigua and Barbuda" 
    }, { 
    "CountryID": 10, 
    "CountryName": "Argentina" 
    }]; 

    $.each(country, function (index, item) { 
    $('#ddlCountry').append($('<option></option>').val(item.CountryID).html(item.CountryName)); 
    }); 

    $('#ddlCountry').val(2); 
}); 

我已經設置的下拉值2準備好,但默認值總是Select Country

這裏是jsfiddle

+0

問題是什麼? – Jai

+0

更新plz檢查 – iJade

+0

剛發佈了一個答案。 – Jai

回答

3

你是不是射擊時編程改變選擇的設定值onchange事件。手動觸發它:

$('#ddlCountry').val(2).change(); 

DEMO

+0

謝謝@A。沃爾夫 – jheimbouch

1

試試這個

$("#ddlCountry")[0].selectedIndex = 2; 

代替

$('#ddlCountry').val(2); 
0

你可以把那行,你的價值這種方式設置爲2以下.each功能:

$('#ddlCountry').val(2); //<---below this one 

    $('select.select').each(function() { 
    var title = $(this).attr('title'); 
    if ($('option:selected', this).val() != '') { 
     title = $('option:selected', this).text(); 
     $(this) 
     .css({ 
      'z-index': 10, 
      'opacity': 0, 
      '-khtml-appearance': 'none' 
     }) 
     .after('<span class="select">' + title + '</span>') 
     .change(function() { 
      val = $('option:selected', this).text(); 
      $(this).next().text(val); 
     }) 
    } 
    }); 

checkout here in this fiddle

0

設置值不會觸發change事件。

您可以添加:

$('#ddlCountry').val(2).trigger('change');