none
Máscara em campo em uma table em uma partial view RRS feed

  • Pergunta

  • Tenho uma partial view onde gero uma table, nessa tabela tenho um campo valor, onde trago um valor que vem do banco, mais tenho que possibilitar que o usuário informe outro valor, para isso queria formatar o campo com uma máscara apropriada, depois de pesquisar fiz uma alteração porém a máscara só acontece na primeira linha da tabela, nas demais não. Comportamento estranho eis minha partial view

    @model IEnumerable<MVCEstudante.Models.USUARIO>
    
    @section scriptHeader{
        <script src="@Url.Content("~/Scripts/jquery.mask.js")" type="text/javascript"></script>
        }
    <script>
        $(document).ready(function () {
            $("#item_usu_valor_pedido").mask("#.##0,00", { reverse: true });
        });
    </script>
    
    <table id="usupedido" class="table">
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.usu_matricula)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.usu_nome)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.usu_tipo)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.usu_valor_pedido)
            </th>
        </tr>
    
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.usu_matricula)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.usu_nome)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.usu_tipo)
                </td>
                <td>
                    @Html.TextBoxFor(m=> item.usu_valor_pedido )
            </tr>
        }
    
    </table>


    Junior

    sexta-feira, 13 de maio de 2016 14:18

Respostas

  • Tente assim:

    Coloque uma class de css ficticia para que o código busque por essa class que no caso eu coloque .mask e no codigo do TextBoxFor adicionei um atributo new {@class="mask" }, agora acredito que ele vai criar as mascaras em todos os itens

    @model IEnumerable<MVCEstudante.Models.USUARIO>
    
    @section scriptHeader{
        <script src="@Url.Content("~/Scripts/jquery.mask.js")" type="text/javascript"></script>
        }
    <script>
        $(document).ready(function () {
            $(".mask").mask("#.##0,00", { reverse: true });
        });
    </script>
    
    <table id="usupedido" class="table">
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.usu_matricula)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.usu_nome)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.usu_tipo)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.usu_valor_pedido)
            </th>
        </tr>
    
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.usu_matricula)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.usu_nome)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.usu_tipo)
                </td>
                <td>
                    @Html.TextBoxFor(m=> item.usu_valor_pedido, new { @class="mask" } )				
    			</td>	
            </tr>
        }
    </table>


    Fulvio C

    • Marcado como Resposta Junior_luiz sexta-feira, 13 de maio de 2016 17:48
    sexta-feira, 13 de maio de 2016 15:15