Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript MVC 3 ASP.NET在主视图中收集的付款的动态部分视图_Javascript_Asp.net_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

使用Javascript MVC 3 ASP.NET在主视图中收集的付款的动态部分视图

使用Javascript MVC 3 ASP.NET在主视图中收集的付款的动态部分视图,javascript,asp.net,asp.net-mvc,asp.net-mvc-3,Javascript,Asp.net,Asp.net Mvc,Asp.net Mvc 3,我是javascript和mvc3的新成员,仅供参考 我一直很难在一个视图中找出多个支付模型,而javascript却没有弄得一团糟 我想做的是: 创建父模型,以便所有子模型都具有来自父模型的一个或两个属性 使用javascript从服务器获取数据以收集和发布数据,而不会在视图上弄乱彼此的付款 如果有一个更简单的方法来收集多笔付款,并返回给控制,请给我一个链接或一些信息进行研究。。。谢谢大家! 在主视图中,我所做的就是显示第一个部分视图和两个按钮(post,添加新付款)。post按钮将付款提交给

我是javascript和mvc3的新成员,仅供参考

我一直很难在一个视图中找出多个支付模型,而javascript却没有弄得一团糟

我想做的是:

创建父模型,以便所有子模型都具有来自父模型的一个或两个属性

使用javascript从服务器获取数据以收集和发布数据,而不会在视图上弄乱彼此的付款

如果有一个更简单的方法来收集多笔付款,并返回给控制,请给我一个链接或一些信息进行研究。。。谢谢大家!

在主视图中,我所做的就是显示第一个部分视图和两个按钮(post,添加新付款)。post按钮将付款提交给服务器,新付款添加另一个部分视图付款模型

我遇到的问题是让部分视图与javascript一起工作,javascript只针对第一次付款。我已经查找这个问题好几天了,没有找到一个好的答案。对我来说唯一有意义的答案是更改部分视图中所有元素的id,并让我的javascript引用更新的id,但我不知道如何动态更改id,以便javascript随之更改

我很抱歉,如果我遗漏了什么,我是新来的

付款部分视图:

@model SBTools.Models.Payment

@*AJAX TO RETRIEVE BILLING COMPANY LIST DATA*@
<script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        $.ajax({
            url: '@Url.Content("~/AddPayments/GetBillingCompanies")',
            type: 'POST',
            data: {},
            success: function (data) {
                var items = "<option>Select Billing Company</option>";
                $.each(data, function (i, item) {
                    var val = item.OCN;
                    var txt = item.OCNDescription;
                    items += "<option value=" + val + ">" + val + " " + txt + "</option>";
                });
                $('#OCN').html(items);
            }
        });
    });
</script>

@*AJAX TO RETRIEVE CARRIERNAME LIST
    PARAM1: Billing Company OCN*@
<script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        $('#OCN').on("change", function () {
            var OCN = $('#OCN').val();
            var connectionString = $('#connectionString').val();

            $.ajax({
                url: '@Url.Content("~/AddPayments/GetConnectionString")',
                type: 'POST',
                data: { OCN: OCN },
                success: function (data) {
                    $('#connectionString').val(data);
                    connectionString = data;
                    $.ajax({
                        url: '@Url.Content("~/AddPayments/GetGLAccounts")',
                        type: 'POST',
                        data: { connectionString: connectionString, OCN: OCN },
                        success: function (data) {
                            var items = "";
                            $.each(data, function (i, item) {
                                items += "<option value=" + item.ID + "/" + item.AccountNumber + ">GL:" + item.AccountNumber +
                                    " &#160;&#160;&#160" + item.AccountName + "</option>";
                            });
                            $('#GLAccount').html(items);
                        }
                    });
                }
            });

            $.ajax({
                url: '@Url.Content("~/AddPayments/GetCarriers")',
                type: 'POST',
                data: { OCN: OCN },
                success: function (data) {
                    var items = "<option>Select a Carrier</option>";
                    $.each(data, function (i, item) {
                        if (item.CIC) {
                            items += "<option value=" + item.CarrierId + ">" + item.CIC + " CIC &#160;" + item.CarrierName + "</option>";
                        } else if (item.OCN) {
                            items += "<option value=" + item.CarrierId + ">" + item.OCN + " OCN &#160;" + item.CarrierName + "</option>";
                        }
                    });
                    $('#CarrierName').html(items);
                }
            });
        });
    });
</script>


@*AJAX TO RETRIEVE BAN/INVOICE/AMOUNT DATA
    PARAM1: Billing company ocn
    PARAM2: Carrier ID*@
<script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        $('#CarrierName').on("change", function () {
            var isZeroBalanceShowing = false;
            if ($('#isZeroBalanceShowing').prop("checked"))
                isZeroBalanceShowing = true;
            var carrierID = $('#CarrierName').val();
            var ocn = $('#OCN').val();
            var connectionString = $('#connectionString').val();

            $.ajax({
                url: '@Url.Content("~/AddPayments/GetAccount")',
                type: 'POST',
                data: { ocn: ocn, carrierID: carrierID, connectionString: connectionString, isZeroBalanceShowing: isZeroBalanceShowing },
                success: function (data) {
                    var items = "";
                    $.each(data, function (i, item) {
                        var inv = item.Invoice;
                        var ban = item.BAN;
                        var initAmnt = item.InitAmount;
                        var amnt = item.Amount;
                        var temp = new Date(parseInt(item.BillDisplayDate.replace('/Date(', '')));
                        var date = temp.getMonth() + 1 + '/' + temp.getDate() + '/' + temp.getFullYear();

                        items += "<option value=" + inv + "/" + ban + ">" + inv + " : $" + initAmnt + " : " + date + " : $" + amnt + "</option>";
                    });
                    $('#BAN').html(items);
                }
            });
        });
    });
</script>

@*AJAX TO SHOW ZERO BALANCES IN INVOICE DROPDOWN*@
<script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        $('#isZeroBalanceShowing').click(function () {
            var isZeroBalanceShowing = false;
            if ($('#isZeroBalanceShowing').prop("checked"))
                isZeroBalanceShowing = true;
            if ($('#CarrierName').val() != null) {
                var carrierID = $('#CarrierName').val();
                var ocn = $('#OCN').val();
                var connectionString = $('#connectionString').val();

                $.ajax({
                    url: '@Url.Content("~/AddPayments/GetAccount")',
                    type: 'POST',
                    data: { ocn: ocn, carrierID: carrierID, connectionString: connectionString, isZeroBalanceShowing: isZeroBalanceShowing },
                    success: function (data) {
                        var items = "";
                        $.each(data, function (i, item) {
                            var inv = item.Invoice;
                            var ban = item.BAN;
                            var amnt = item.Amount;
                            var initAmnt = item.InitAmount;
                            var temp = new Date(parseInt(item.BillDisplayDate.replace('/Date(', '')));
                            var date = temp.getMonth() + 1 + '/' + temp.getDate() + '/' + temp.getFullYear();

                            items += "<option value=" + inv + "/" + ban + ">" + inv + " : $" + initAmnt + " : " + date + " : $" + amnt + "</option>";
                        });
                        $('#BAN').html(items);
                    }
                });
            }
        });
    });
</script>

<script type="text/javascript" charset="utf-8">
    $(document).ready(function () {
        var amnt = "";
        $('#Amount').blur(function () {
            if ($('#Amount').val().toString().charAt(0) === '$') {
                amnt = $('#Amount').val();
                amnt = parseFloat(amnt.substring(1, amnt.length)).toFixed(2);
            } else {
                amnt = parseFloat($('#Amount').val()).toFixed(2);
            }
            $('#Amount').val(amnt);
        });
        $('#Deposit').blur(function () {
            if ($('#Deposit').val().toString().charAt(0) === '$') {
                amnt = $('#Deposit').val();
                amnt = parseFloat(amnt.substring(1, amnt.length)).toFixed(2);
            } else {
                amnt = parseFloat($('#Deposit').val()).toFixed(2);
            }
            $('#Deposit').val(amnt);
        });
        $('#CheckAmount').blur(function () {
            if ($('#CheckAmount').val().toString().charAt(0) === '$') {
                amnt = $('#CheckAmount').val();
                amnt = parseFloat(amnt.substring(1, amnt.length)).toFixed(2);
            } else {
                amnt = parseFloat($('#CheckAmount').val()).toFixed(2);
            }
            $('#CheckAmount').val(amnt);
        });
    });
</script>

@*DATEPICKER FOR DATE RECIEVED*@
<script>
    $.datepicker.setDefaults({
        constrainInput: true,
        dateFormat: 'yyyy/mm/dd',
        gotoCurrent: true,
        hideIfNoPrevNext: true,
        minDate: '-3m',
        maxDate: 0,
        showOn: 'both'
    });

    @*DATEPICKER FOR CHECKDATE*@

    // To date - default to today's date
    $(document).ready(function () {
        $('#Date').datepicker({
            maxDate: '0',
            defaultDate: new Date(),
            onSelect: function (dateStr) {
                $('#CheckDate').datepicker('option', 'maxDate', $(this).datepicker('getDate') || 0);
            }
        });
    });

    $(document).ready(function () {
        $('#CheckDate').datepicker({
            maxDate: '0',
            defaultDate: new Date(),
            onSelect: function (dateStr) {
                $('#Date').datepicker("option", "maxDate", '+0m +0w');
            }
        });
    });
</script>

<h3>Payment @Html.DisplayFor(x => x.AccountID):</h3>
    @Html.HiddenFor(x => x.AccountID, new { id = "ID" })
    @Html.HiddenFor(x => x.connectionString, new { id = "connectionString" })

<table id="tblAcct" class="display">
            <tr class="spacer" />

            <tr>
                <td>Billling Company (First**):@Html.ValidationMessageFor(model => model.OCN, " *Select a Value")</td>
                <td>Carrier Company (Second**):@Html.ValidationMessageFor(model => model.CarrierName, " *Select a Value")</td>
                <td>Deposit Amount:@Html.ValidationMessageFor(model => model.Deposit, " *Enter a Value") </td>
            </tr>
            <tr>

                @*OCN*@
                <td>
                    <select required id="OCN" name="OCN" style="width: 200px;" tabindex="0" ></select></td>

                @*CarrierName*@
                <td>
                    <select required id="CarrierName" name="CarrierName" style="width: 200px;"></select></td>

                @*DEPOSIT*@
                <td>$@Html.TextBoxFor(a => a.Deposit, new { style = "width:200px;" })</td>

            </tr>

            <tr class="spacer" />

            <tr>
                <td>Check Date:</td>
                <td>Check Amount:@Html.ValidationMessageFor(model => model.CheckAmount, " *Enter a Value")</td>
                <td>Check Number:@Html.ValidationMessageFor(model => model.CheckNumber, " *Enter a Value")</td>
            </tr>
            <tr>
                @*CHECKDATE*@
                <td>@Html.EditorFor(model => model.CheckDate, new { id = "CheckDate" })
                    @Html.ValidationMessageFor(model => model.CheckDate, "mm/dd/yyyy")</td>

                @*CHECKAMOUNT*@
                <td>$@Html.TextBoxFor(a => a.CheckAmount, new { style = "width:200px;" })</td>

                @*CHECKNUMBER*@
                <td>@Html.TextBoxFor(a => a.CheckNumber, new { style = "width:200px;" })</td>
            </tr>
        </table>
<table id="tblAcctInvoice" class="display">
    <tr class="spacer" />

    <tr>
        <td>Invoice:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
                     @Html.CheckBoxFor(model => model.isZeroBalanceShowing, new { id = "isZeroBalanceShowing" }) Zero Balances
                     @Html.ValidationMessageFor(model => model.Invoice, " *Select a Value")</td>
        <td>Payment Date:</td>
        <td>Payment Amount:@Html.ValidationMessageFor(model => model.Amount, " *Enter a Value")</td>
        <td>GL Account:@Html.ValidationMessageFor(model => model.GLAccount, " *Select a Value")</td>
    </tr>
    <tr>
        @*BAN*@
        <td>
            <select required id="BAN" name="Invoice" style="width: 351px;"></select></td>
        @*PAYMENT DATE*@
        <td>
            <div class="Date">
                @Html.EditorFor(model => model.Date, new { id = "Date" })
                @Html.ValidationMessageFor(model => model.Date, "mm/dd/yyyy")
            </div>
        </td>

        @*PAYMENT AMOUNT*@
        <td>
            <div class="currency">
                $@Html.TextBoxFor(a => a.Amount, new { style = "width:150px;", id = "Amount" })
            </div>
        </td>

        @*GLACCOUNT*@
        <td>
            <select required id="GLAccount" name="GLAccount" style="width: 200px;"></select></td>
    </tr>
</table>

<table id="tblAcctComment" class="display">
    <tr>
        <td>Comments:&#160;&#160;&#160;&#160;&#160;&#160;&#160;
                @*ISSERVICEBUREAU*@
            @Html.CheckBoxFor(a => a.isServiceBureauCollection, new { @checked = "checked" }) Service Bureau Collection:</td>

    </tr>
    <tr>
        <td>
            @Html.TextAreaFor(a => a.Comment, new { style = "width:99%; height: 20px;" })
        </td>
    </tr>
</table>
@model SBTools.Models.Payment
@*AJAX用于检索计费公司列表数据*@
$(文档).ready(函数(){
$.ajax({
url:“@url.Content(“~/AddPayments/GetBillingCompanys”),
键入:“POST”,
数据:{},
成功:功能(数据){
var items=“选择计费公司”;
$。每个(数据、功能(i、项){
var val=item.OCN;
var txt=item.ocn说明;
项目+=“”+val+“”+txt+“”;
});
$('#OCN').html(项目);
}
});
});
@*检索CARRIERNAME列表的AJAX
参数1:计费公司OCN*@
$(文档).ready(函数(){
$('#OCN')。关于(“更改”,函数(){
var OCN=$('#OCN').val();
var connectionString=$('#connectionString').val();
$.ajax({
url:“@url.Content(“~/AddPayments/GetConnectionString”),
键入:“POST”,
数据:{OCN:OCN},
成功:功能(数据){
$('#connectionString').val(数据);
connectionString=数据;
$.ajax({
url:“@url.Content(“~/AddPayments/GetGLAccounts”),
键入:“POST”,
数据:{connectionString:connectionString,OCN:OCN},
成功:功能(数据){
var项目=”;
$。每个(数据、功能(i、项){
项目+=“总帐:”+项目.AccountNumber+
“ ; ; ”+item.AccountName+”;
});
$('#GLAccount').html(项目);
}
});
}
});
$.ajax({
url:“@url.Content(“~/AddPayments/GetCarriers”),
键入:“POST”,
数据:{OCN:OCN},
成功:功能(数据){
var items=“选择承运商”;
$。每个(数据、功能(i、项){
若有(CIC项){
items+=“item.CIC+”CIC ;“+item.CarrierName+”;
}否则,如果(项目OCN){
items+=“item.OCN+”OCN ;“+item.CarrierName+”;
}
});
$('#CarrierName').html(项目);
}
});
});
});
@*用于检索禁令/发票/金额数据的AJAX
参数1:计费公司ocn
参数2:载波ID*@
$(文档).ready(函数(){
$('#CarrierName')。关于(“更改”,函数(){
var为零平衡显示=假;
if($('#isZeroBalanceShowing').prop(“选中”))
isZeroBalanceShowing=真;
var carrierID=$('#CarrierName').val();
var ocn=$('#ocn').val();
var connectionString=$('#connectionString').val();
$.ajax({
url:“@url.Content(“~/AddPayments/GetAccount”),
键入:“POST”,
数据:{ocn:ocn,carrierID:carrierID,connectionString:connectionString,isZeroBalanceShowing:isZeroBalanceShowing},
成功:功能(数据){
var项目=”;
$。每个(数据、功能(i、项){
var inv=项目。发票;
var ban=item.ban;
var initAmnt=item.InitAmount;
var amnt=项目金额;
var temp=新日期(parseInt(item.BillDisplayDate.replace('/Date(',''));
变量日期=临时getMonth()+1+'/'+临时getDate()+'/'+临时getFullYear();
项目+=“+inv+”:$“+initAmnt+”:“+date+”:$“+amnt+”;
});
$('#BAN').html(项目);
}
});
});
});
@*AJAX在发票下拉列表中显示零余额*@
$(文档).ready(函数(){
$('#isZeroBalanceShowing')。单击(函数(){
var为零平衡显示=假;
if($('#isZeroBalanceShowing').prop(“选中”))
isZeroBalanceShowing=真;
if($('#CarrierName').val()!=n