我正在使用fancybox并点击一个锚标签我打开一个iframe如下: -
<a href="/Files/Upload/?personId=@Model.PersonID" class="iframe UpdateLink privilegeLevelIdentityForFile" data-privilegelevelid="@Model.PrivilegeLevelInfoForCurrentUser.PrivilegeLevelInfo.LevelId" title="Upload file(s)">[ + ]</a>
iFrame由以下表格组成: -
<div id="divUploadForm">
@using (Html.BeginForm("UploadSpecifiedFileToS3Completed", "Files", FormMethod.Post, new { id = "uploadForm", enctype = "multipart/form-data" }))
{
@Html.DropDownList("PrivilegeLevelId", new SelectList((IEnumerable<iNGRID_Data.Security.PrivilegeLevel>)ViewData["PrivilegeLevelsList"], "LevelId", "LevelName"))
<hr />
<p>
<input type="submit" value="Upload" id="uploadButton" class="button" />
</p>
}
</div>
我在尝试设置iframe下拉列表的值时使用以下功能
$('.privilegeLevelIdentityForFile').click(function () {
var privilegeLevelId = $(this).data("privilegelevelid");
alert(privilegeLevelId);
$("#uploadForm").contents().find('#PrivilegeLevelId').val(privilegeLevelId);
});
我正确收到提醒但无法设置值。
请帮忙。
答案 0 :(得分:0)
您需要在contents()
元素上使用iframe
,而不是在iframe中使用div
。试试这个:
$("#iframeElement").contents().find('#PrivilegeLevelId').val(privilegeLevelId)
显然,您需要根据需要更改#iframeElement
。