如何使用jquery将年份绑定到下拉列表
我是jquery新手,我只需要使用jquery将年份绑定到dropdownlist。但它不绑定到dropdownlist。请任何人建议我如何使用jquery将年份绑定到下拉列表,jquery,Jquery,我是jquery新手,我只需要使用jquery将年份绑定到dropdownlist。但它不绑定到dropdownlist。请任何人建议我 <td> Certification Name </td> <td> Passed Year </td> </tr> @for (var j =0; j < M
<td>
Certification Name
</td>
<td>
Passed Year
</td>
</tr>
@for (var j =0; j < Model.EducationDetailsFields.Certifications.Count; j++)
{
<tr>
<td>
<div id="Certified" class="disable">
@Html.TextBoxFor(model => model.EducationDetailsFields.Certifications[j].CertificationName)
@Html.ValidationMessageFor(model => model.EducationDetailsFields.Certifications[j].CertificationName)
</div>
</td>
<td>
<div class="disable">
@Html.DropDownListFor(model => model.EducationDetailsFields.Certifications[j].PassedYear, new SelectList(Model.EducationDetailsFields.Certifications, "Passedyear", "Passedyear"), "--Select--", new {id="PassedYear" })
@Html.ValidationMessageFor(model => model.EducationDetailsFields.Certifications[j].PassedYear)
</div>
</td>
</tr>
}
</table>
在jquery中
function addYear() {
var currentYear = new Date().getFullYear();
for (var i = 1; i <= 5; i++) {
$("#PassedYear").append( $("<option></option>")
.attr("value", currentYear)
.text(currentYear)
);
currentYear++;
}
}
addYear();
<td>
Certification Name
</td>
<td>
Passed Year
</td>
</tr>
@for (var j =0; j < Model.EducationDetailsFields.Certifications.Count; j++)
{
<tr>
<td>
<div id="Certified" class="disable">
@Html.TextBoxFor(model => model.EducationDetailsFields.Certifications[j].CertificationName)
@Html.ValidationMessageFor(model => model.EducationDetailsFields.Certifications[j].CertificationName)
</div>
</td>
<td>
<div class="disable">
@Html.DropDownListFor(model => model.EducationDetailsFields.Certifications[j].PassedYear, new SelectList(Model.EducationDetailsFields.Certifications, "Passedyear", "Passedyear"), "--Select--", new {id="PassedYear" })
@Html.ValidationMessageFor(model => model.EducationDetailsFields.Certifications[j].PassedYear)
</div>
</td>
</tr>
}
</table>
函数addYear(){
var currentYear=新日期().getFullYear();
对于(var i=1;i model.EducationDetailsFields.Certifications[j].CertificationName)
@Html.ValidationMessageFor(model=>model.EducationDetailsFields.Certifications[j].CertificationName)
@Html.DropDownListFor(model=>model.EducationDetailsFields.Certifications[j].PassedYear,新选择列表(model.EducationDetailsFields.Certifications,“PassedYear”,“PassedYear”),“--Select--”,新{id=“PassedYear”}
@Html.ValidationMessageFor(model=>model.EducationDetailsFields.Certifications[j].PassedYear)
}
在页面加载期间,3下拉列表应加载年数…这里加载的是第一个下拉列表,其余的不是..如何将for循环变量j添加到下拉列表id中..请任何人查看一下它您得到了什么结果以及您期望得到什么?您发布的代码对我来说效果很好。一旦DOM中的元素
#year
可用,您需要调用addYear()
。所以改用在documentready上调用它:$(addYear)嗨,谢谢你的回复。请看一看编辑后的帖子…给我一些建议
<td>
Certification Name
</td>
<td>
Passed Year
</td>
</tr>
@for (var j =0; j < Model.EducationDetailsFields.Certifications.Count; j++)
{
<tr>
<td>
<div id="Certified" class="disable">
@Html.TextBoxFor(model => model.EducationDetailsFields.Certifications[j].CertificationName)
@Html.ValidationMessageFor(model => model.EducationDetailsFields.Certifications[j].CertificationName)
</div>
</td>
<td>
<div class="disable">
@Html.DropDownListFor(model => model.EducationDetailsFields.Certifications[j].PassedYear, new SelectList(Model.EducationDetailsFields.Certifications, "Passedyear", "Passedyear"), "--Select--", new {id="PassedYear" })
@Html.ValidationMessageFor(model => model.EducationDetailsFields.Certifications[j].PassedYear)
</div>
</td>
</tr>
}
</table>