2 つの選択入力があり、それらに年の配列を入力します。その後、すべての Select に対して選択された値を currentYear に設定したいと思います。私はこのコードを持っていますが、最初の Select でしか機能しません。理由がわかりません。
編集2
すべてがjQuery 1.4.3でうまく機能し、1.4.2は失敗します:_(
編集
私は成功せずにこれを試みています:-( fisrtだけが値OKを選択しました。バージョンで問題になる可能性がありますか?IE6、asp.net 2.0、jquery 1.4.2。 " 動作しません。"$('#cmbAnyDesde option[value=' + currentYear + ']').attr('selected', 'selected');" を実行する必要があります:-(
コードが更新されました:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Tests.aspx.cs" Inherits="Tests" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="../JAVASCRIPT/jquery-1.4.2.min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
loadYears();
});
var loadYears = function() {
var currentYear = new Date().getFullYear(),
years = [],
firstYear = currentYear - 7,
lastYear = currentYear + 3,
sinceComboSelector = "#cmbAnyDesde",
toComboSelector = "#cmbAnyHasta",
i;
for (i = firstYear; i <= lastYear; i++) {
years.push(i);
}
$(sinceComboSelector).find('option').remove();
$(toComboSelector).find('option').remove();
$.each(years, function(key, value) {
$(sinceComboSelector)
.append($("<option></option>")
.attr("value", value)
.text(value));
$(toComboSelector)
.append($("<option></option>")
.attr("value", value)
.text(value)); ;
});
// $(sinceComboSelector).val(currentYear);
// $(toComboSelector).val(currentYear);
$('#cmbAnyDesde option[value=' + currentYear + ']').attr('selected', 'selected');
$('#cmbAnyHasta option[value=' + currentYear + ']').attr('selected', 'selected');
};
</script>
<form id="form1" runat="server">
<div>
<select id="cmbAnyDesde" style="width:70px"></select>
<select id="cmbAnyHasta" style="width:70px"></select>
</div>
</form>
</body>
</html>
ありがとう