FORMATAR COLUNA EM MOEDA EM MVC
Tenho uma view onde mostro valores, tenho uma coluna onde mostro um valor monetário e permito que o usuário altere esse valor, o problema é que a formatação em moeda só está acontecendo na primeira linha da tabela.
Meu script é assim
jQuery(function ($) {
$([ô]#item_pus_valor[ô]).maskMoney({ prefix: [ô]R$ [ô], allowNegative: false, thousands: [ô].[ô], decimal: [ô],[ô], affixesStay: false })
});
Meu script é assim
jQuery(function ($) {
$([ô]#item_pus_valor[ô]).maskMoney({ prefix: [ô]R$ [ô], allowNegative: false, thousands: [ô].[ô], decimal: [ô],[ô], affixesStay: false })
});
O seletor [Ô]#[Ô] se refere à ID de componente e você não pode ter múltiplos componentes com o mesmo ID. Atribua uma classe ao template do item e use o seletor [Ô].[Ô]:
Mas tecnicamente você nem sequer deveria usar JQuery para isso...
$([ô].nome_da_sua_classe[ô]).maskMoney({ prefix: [ô]R$ [ô], allowNegative: false, thousands: [ô].[ô], decimal: [ô],[ô], affixesStay: false })
Mas tecnicamente você nem sequer deveria usar JQuery para isso...
Fiz a alteração que vc sugeriu e ficou pior, nem mesmo o primeiro registro formata
Verifique o console e veja se tem erros. Caso não saiba, tecla F12 no seu browser.
E aliás, você adicionou a classe aos Ãtens da tabela?
Não apresenta nenhum erro de script e todos os dados estão corretos. Na view a linha está assim
<td class=[Ô]col-md-1[Ô] style=[Ô]text-align: right;vertical-align:middle[Ô]>
@Html.EditorFor(modelItem => item.pus_valor, new { htmlAttributes = new { @class = [Ô]form-control col-md-3 col-sm-3 col-xs-3 text-right[Ô], data_val_number = [Ô] [Ô] } })
</td>
<td class=[Ô]col-md-1[Ô] style=[Ô]text-align: right;vertical-align:middle[Ô]>
@Html.EditorFor(modelItem => item.pus_valor, new { htmlAttributes = new { @class = [Ô]form-control col-md-3 col-sm-3 col-xs-3 text-right[Ô], data_val_number = [Ô] [Ô] } })
</td>
@Html.EditorFor(modelItem => item.pus_valor, new { htmlAttributes = new { @class = [Ô]form-control col-md-3 col-sm-3 col-xs-3 text-right [txt-color=#e80000]meu-controle-valor[/txt-color][Ô], data_val_number = [Ô] [Ô] } })
$([ô].[txt-color=#e80000]meu-controle-valor[ô][/txt-color]).maskMoney({ prefix: [ô]R$ [ô], allowNegative: false, thousands: [ô].[ô], decimal: [ô],[ô], affixesStay: false })
Tente ENTENDER o que está acontecendo e não só copiar código...
$([ô].[txt-color=#e80000]meu-controle-valor[ô][/txt-color]).maskMoney({ prefix: [ô]R$ [ô], allowNegative: false, thousands: [ô].[ô], decimal: [ô],[ô], affixesStay: false })
Tente ENTENDER o que está acontecendo e não só copiar código...
Entendi, não sabia que isso poderia ser feito. valeu funcionou.
O seletor do JQuery, pode ser várias coisas:
#algo = você está se referindo à um controle especÃfico com Id = [Ô]algo[Ô]. Exemplo:
<div id=[Ô]algo[Ô]>texto aqui</div>
$([Ô]#algo[Ô]).css({[Ô]font-weight[Ô]:[Ô]bold[Ô]}); // para o controle com id [Ô]algo[Ô], a fonte é negrito
.algo = você está se referindo à controles com a classe algo. Exemplo:
<div class=[Ô]algo[Ô]>texto aqui</div>
$([Ô].algo[Ô]).css({[Ô]font-weight[Ô]:[Ô]bold[Ô]}); // para os controles que possuam [Ô]algo[Ô] coimo classe, a fonte é negrito
algo = você está se referindo à controles do tipo, geralmente tags HTML. Exemplo:
<div>texto aqui</div>
$([Ô]div[Ô]).css({[Ô]font-weight[Ô]:[Ô]bold[Ô]}); // para os controles [Ô]div[Ô], a fonte é negrito
Você pode usar inclusive combinações:
$([Ô]tr.algo[Ô]).css({[Ô]font-weight[Ô]:[Ô]bold[Ô]}); // para controles do tipo tr e que contenham classe [Ô]algo[Ô], a fonte é negrito
Os seletores podem ter vários encadeamentos e podem ficar bem complicados conforme o que você quer fazer.
#algo = você está se referindo à um controle especÃfico com Id = [Ô]algo[Ô]. Exemplo:
<div id=[Ô]algo[Ô]>texto aqui</div>
$([Ô]#algo[Ô]).css({[Ô]font-weight[Ô]:[Ô]bold[Ô]}); // para o controle com id [Ô]algo[Ô], a fonte é negrito
.algo = você está se referindo à controles com a classe algo. Exemplo:
<div class=[Ô]algo[Ô]>texto aqui</div>
$([Ô].algo[Ô]).css({[Ô]font-weight[Ô]:[Ô]bold[Ô]}); // para os controles que possuam [Ô]algo[Ô] coimo classe, a fonte é negrito
algo = você está se referindo à controles do tipo, geralmente tags HTML. Exemplo:
<div>texto aqui</div>
$([Ô]div[Ô]).css({[Ô]font-weight[Ô]:[Ô]bold[Ô]}); // para os controles [Ô]div[Ô], a fonte é negrito
Você pode usar inclusive combinações:
$([Ô]tr.algo[Ô]).css({[Ô]font-weight[Ô]:[Ô]bold[Ô]}); // para controles do tipo tr e que contenham classe [Ô]algo[Ô], a fonte é negrito
Os seletores podem ter vários encadeamentos e podem ficar bem complicados conforme o que você quer fazer.
Tópico encerrado , respostas não são mais permitidas