0
我有兩個下拉這樣的:如何觸發下拉列表中的onload事件
<select onload="javascript:loadState(this.value)" onchange="javascript:loadState(this.value)" id="cntry" name="country">
<option label="United States" value="1">United States</option>
<option label="Afghanistan" value="2">Afghanistan</option>
</select>
<select id="state" name="state">
<option label="Alabama" value="1">Alabama</option>
<option label="Alaska" value="2">Alaska</option>
<option label="Arizona" value="3">Arizona</option>
<option label="Arkansas" value="4">Arkansas</option>
<option label="California" value="5">California</option>
</select>
function loadState(countryId)
{
$j.ajax({
type: "GET",
url: baseUrl+'/profile/load-states/country-id/'+countryId,
data: "",
dataType: "xml",
error: function (XMLHttpRequest, textStatus, errorThrown) {
$j("#message").html("<p>There is problem with the ajax request.</p>");
return false;
},
success: function(xml){
var htmlOptions = '';
$j(xml).find("State").each(function() {
var states = $j(this);
var stateId = states.attr("Id");
var stateName = states.attr("Name");
htmlOptions += "<option value='"+ stateId +"'>"+stateName+"</option>";
});
if(htmlOptions){
$j("#state").html(htmlOptions);
}
else
{
htmlOptions = "<option value='0'>Select State</option>";
$j("#state").html(htmlOptions);
}
}
});
}
這裏的時候,我們選擇一個國家它會自動填入該國的狀態爲第二個下拉的LoadState的功能完美的工作。問題是當發生驗證錯誤時,第二次下拉列表保留其默認值,某些時候狀態與選定國家無關。該解決方案觸發第一個下拉列表中的函數,但它不起作用。快速反應表示讚賞謝謝。
select元素上沒有onload事件。 – epascarello
你是什麼意思'當發生驗證錯誤時'? – Hope4You
好的讓我解釋一下當表單加載我們的國家和下拉菜單包含我們的國家。當用戶選擇不同的國家第二次更改並提交,如果表格包含任何驗證錯誤,該國仍然是用戶選擇的國家可能是選擇國家印度,但第二個下降仍然是我們的國家。這是問題。 –