簡體   English   中英

JavaScript失敗,原因尚不清楚

[英]JavaScript failing and the cause is not clear

我正在嘗試在我的代碼中實現一個簡單的事情。 根據下拉菜單的值,我需要將display設置為不顯示給其他div。 代碼的第一部分是當我用數據庫中的信息填充頁面時。

<div class="row" id="boxNivelDesconto">
                @Html.LabelFor(model => model.CodigoNivelDesconto)
                <div class="right">
                    @Html.DropDownListFor(model => model.CodigoNivelDesconto, ViewBag.ListaDescontos as SelectList, new { @class = "big" })
                    @Html.ValidationMessageFor(model => model.CodigoNivelDesconto)
                </div>
            </div>
            <div class="row" id="boxJustificativaDesconto">
                @Html.LabelFor(model => model.CodigoJustificativaDesconto)
                <div class="right">
                    @Html.DropDownListFor(model => model.CodigoJustificativaDesconto, ViewBag.ListaJustificativas as SelectList, new { @class = "big" })
                    @Html.ValidationMessageFor(model => model.CodigoJustificativaDesconto)
                </div>
            </div>
            <div class="row" id="boxListaCategoria">
                @Html.LabelFor(model => model.Categoria)
                <div class="right">
                    @if (Model.TipoCliente == (short)Karcher.Portal.Web.Models.TipoCliente.PessoaJuridica)
                    {
                        @Html.DropDownListFor(model => model.CodigoCategoria, ViewBag.ListaCategorias as SelectList, new { @class = "big" })
                    }
                    else
                    { 
                        @Html.DropDownListFor(model => model.CodigoCategoria, ViewBag.ListaCategorias as SelectList, new { @class = "big oculto" })
                        <input id="CodigoCategoria-textbox" class="disabled" readonly="readonly" style="vertical-align: top; width: 367px" value="@Model.Categoria.Descricao" />
                    }
                    @Html.Hidden("CategoriaTrue", Model.CodigoCategoria)
                    <a class="item small text" id="ajuda" style="cursor: pointer" title="Selecione para visualizar a ajuda.">
                        <img alt="Ajuda?"  src="@Url.Content("~/Content/theme/gfx/icons/small/help.png")" /><span>Ajuda</span>
                    </a>
                    <div id="contOutros" style="display: none;">
                        <div class="content">
                            <div class="row">
                                <h2>
                                    Documentos necessários para anexo</h2>
                                <p>
                                    Segue abaixo os documentos necessários para anexar na proposta:</p>
                                <ul>
                                    <li>Contrato Social ou Requerimento de Empresário <i>(opcional)</i></li>
                                    <li>Cartão CNPJ</li>
                                    <li>Sintegra (caso cliente possua I.E.)</li>
                                </ul>
                            </div>
                        </div>
                    </div>
                    <div id="contRevenda" style="display: none;">
                        <div class="content">
                            <div class="row">
                                <h2>
                                    Documentos necessários para anexo</h2>
                                <p>
                                    Segue abaixo os documentos necessários para anexar na proposta:</p>
                                <ul>
                                    <li>Contrato Social ou Requerimento de Empresário <i>(opcional)</i></li>
                                    <li>Cartão CNPJ</li>
                                    <li>Sintegra (caso cliente possua I.E.)</li>
                                    <li>Fotos fachada, balcão, estoque e oficina</li>
                                    <li>Carta de Autorização de débito em conta corrente </li>
                                </ul>
                            </div>
                        </div>
                    </div>
                    <div id="contConsumidor" style="display: none;">
                        <div class="content">
                            <div class="row">
                                <h2>
                                    Documentos necessários para anexo</h2>
                                <p>
                                    Segue abaixo os documentos necessários para anexar na proposta:</p>
                                <ul>
                                    <li>Contrato Social ou Requerimento De Empresário <i>(opcional)</i></li>
                                    <li>Descrição Do Material a ser negociado mais o Valor do Pedido </li>
                                </ul>
                                <ul>
                                    <li><b>OBS.:</b> Ao negociar equipamentos(a partir da BD530)</li>
                                    <li>Enviar preenchido Contrato de Alienação</li>
                                    <li>Para locação enviar preemchido Contrato de Locação.</li>
                                </ul>
                            </div>
                        </div>
                    </div>
                    @Html.ValidationMessageFor(model => model.CodigoCategoria)
                </div>
            </div>

因此,我對字段值進行了簡單的驗證,因此,正如我之前所說,某些div不需要顯示任何內容。

if (($("#CodigoNivelDesconto").val() == '') && ($("#CodigoJustificativaDesconto").val() == '') && ($("#CodigoCategoria").val() == '12')) {
            $("#boxNivelDesconto").attr("style", "display:none;");
            $("#boxJustificativaDesconto").attr("style", "display:none;");
        }

但是,例如,當我在Firefox中運行頁面時,返回給我一個來自javascript的錯誤消息,顯示“ a.ownerDocument為null”。 或在Chrome中,錯誤消息為“無法讀取屬性'tagname'為null”。

有人知道發生了什么嗎? 有什么建議可以解決嗎? 這讓我發瘋。 我已經嘗試了很多解決方法來解決它,但是沒有成功。

請幫我!

提前致謝。

您是否已驗證選擇器正在返回您期望的結果?

在其余處理代碼之前,請嘗試檢查選擇器返回的內容,即

if ($("#CodigoNivelDesconto").length > 0) { alert ('found it!'); }

我對MVC並不熟悉,但是到目前為止,您可能已經需要將@id添加到您的助手中:

@Html.DropDownListFor(model => model.CodigoNivelDesconto, ViewBag.ListaDescontos as SelectList, new { @id="CodigoNivelDesconto", @class = "big" })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM