pisząc aplikację do wystawiania faktur napotkałem pewien problem. A w zasadzie garść problemów.
Zależy mi na wyglądzie i responsywności dlatego korzystam z bibliotek CSS które dają wszystko czego potrzebuję.
Niestety wystawianie faktur wymaga abym mógł dynamicznie dodawać zestawy inputów do dodawania pozycji na fakturze.
I tu zaczęły się schody.
Inputy są dodawane, jednak nie są "tak piękne" jak być powinny. Wygląda na to, jakby skrypt brał tylko najpotrzebniejsze dane z css'a a te mniej istotne olewał.
<div class="md-card-content"> <div class="uk-grid" id="myTabContent" data-uk-grid-margin> <!-- Tu podawane są nowe pozycje --> </div> </div> <script type='text/javascript'> var z = 2; //<![CDATA[ $(function () { $("#btn").click(function () { $('#myTabContent').append( '<div class="uk-width-medium-1-10"><div class="uk-form-row"> <input name="fvat_pozycja_lp_'+(z)+'" type="text" value="'+(z)+'." class="md-input" /></div></div><div class="uk-width-medium-2-10"><div class="uk-form-row"> <input name="fvat_pozycja_towar_'+(z)+'" type="text" class="md-input" /></div></div><div class="uk-width-medium-1-10"><div class="uk-form-row"><input name="fvat_pozycja_ilosc_'+(z)+'" type="text" onkeyup="licz_'+(z)+'(this.form)" class="md-input" /></div></div><div class="uk-width-medium-2-10"><div class="uk-form-row"><input name="fvat_pozycja_netto_'+(z)+'" type="text" onkeyup="licz_'+(z)+'(this.form)" class="md-input" /></div></div><div class="uk-width-medium-1-10"><div class="uk-form-row"><select name="fvat_pozycja_vat_1'+(z)+' id="select_demo_1" onkeyup="licz_'+(z)+'(this.form)" data-md-selectize><option value="1.08">8%</option><option value="1.23">23%</option></select></div></div><div class="uk-width-medium-2-10"><div class="uk-form-row"><input name="fvat_pozycja_brutto_'+(z)+'" type="text" class="md-input" /></div></div>'); console.log($(".searchInput")); z++; $(".searchInput").autocomplete({ source: availableTags }); }); }); //]]> </script>
Druga sprawa to zliczanie "w locie" działania (ilość x vat x cena netto) = wartość brutto, jak to poprawnie wykonać bo na chwilę obecną udało mi się tylko takie działanie dla pierwszego pola (które jest od początku), ale też nie działa wybitnie dobrze...
<script language="javascript"> function licz_1(x){ x.fvat_pozycja_brutto_1.value=(x.fvat_pozycja_vat_1.value)*(+x.fvat_pozycja_netto_1.value)*(+x.fvat_pozycja_ilosc_1.value) } </script>
Będę bardzo wdzięczny za każdą pomoc.
Pozdrawiam!