如何将部分视图文本框值传递给父视图隐藏字段?

时间:2014-12-11 06:41:06

标签: jquery html asp.net-mvc-3

部分视图

<script type="text/javascript">

// filling popup value
function DisplaySectorInfo(hdnAnyRowSelected_Add, hdnSector, hdnSTNFrom, hdnSTNTo ) {
    var Sector = $('#' + hdnSector + 1).val();      
    document.getElementById('txtSectorNo').value = Sector;      

    PopUpLayer('dvSectorInfo', 'show');

}
</script>

    <div id="dvSectorInfo" >
         <input id= "txtSectorNo" name="txtSectorNo" type="text" value=" "  maxlength="3" />
         <input type="button" value="OK" name="btnSubmit" id="btnSubmit"   />
    </div>

输入的文本框值需要传递父视图。

1 个答案:

答案 0 :(得分:0)

在父视图中,您可以在PartialView中检索输入的值,因为它是DOM的一部分。由于您使用的是jQuery,因此可以添加到您的父母&#34;视图:

<script>
$(function(){//shorthand for document.ready
    $('#myHiddenField').val($('#txtSectorNo').val()); //set a hidden field to the value of txtSectorNo
});
</script>

但是您正在等待来自用户的数据输入。所以你真的需要等待你的&#34; btnSubmit&#34;按钮被点击。您可以在PartialView或您的父母&#34;中绑定点击事件。视图。它完全是关于客户端浏览器页面上存在的HTML元素以及组织您的视图。

最好是,IMO将此逻辑放在您的父母&#34;在这种情况下,cshtml视图应该是部分应该只包含您尝试组织的有意义内容的一部分,您的父视图可以包含所有Javascript函数和@section脚本中的jQuery绑定{}

所以我希望你的父View看起来像这样:

@Html.Partial("SectionPartial);

@section scripts{
<script>
$(function(){
    $('#btnSubmit').on('click', function(){
        $('#myHiddenField').val($('#txtSectorNo').val()); //set a hidden field to the value of txtSectorNo
    });
});
</script>
<script>
// filling popup value
function DisplaySectorInfo(hdnAnyRowSelected_Add, hdnSector, hdnSTNFrom, hdnSTNTo ) {
    var Sector = $('#' + hdnSector + 1).val();      
    document.getElementById('txtSectorNo').value = Sector;      

    PopUpLayer('dvSectorInfo', 'show');

}
</script>
}//end section scripts

您的部分视图只需要:

<div id="dvSectorInfo" >
     <input id= "txtSectorNo" name="txtSectorNo" type="text" value=" "  maxlength="3" />
     <input type="button" value="OK" name="btnSubmit" id="btnSubmit"   />
</div>