javascript - JScript change function on MVC textboxfor event not firing -
so have textbox created in loop , textbox needs autosubmit form on change. had working in different page not created within loop. code follows:
using (ajax.beginform("reportinput","reports",new ajaxoptions() { updatetargetid = "refresh", insertionmode = insertionmode.replace }, new { @id = "refresh" })) { .......for loop{ //id of textbox <- 1 of these textboxs created @ moment. var temp = "#inputparameters_" + +"__value"; <script type="text/javascript"> $('@temp').change(function () { $('#refresh').submit(); }); </script> @html.textboxfor(modelitem => model.inputparameters[i].value) .......} }
with firebug following error pops on clicking on textbox.
referenceerror: reference undefined property jquery.event.triggered return event.result; jquery-1.9.1.js (line 3091) referenceerror: reference undefined property src.returnvalue this.isdefaultprevented = ( src.defaultprevented || src.returnvalue === false | jquery-1.9.1.js (line 3345) use of getpreventdefault() deprecated. use defaultprevented instead. src.getpreventdefault && src.getpreventdefault() ) ? returntrue : returnfalse; jquery-1.9.1.js (line 3346) referenceerror: reference undefined property event.result return event.result;
generated html:
<form id="refresh" method="post" data-ajax-update="#refresh" data-ajax-mode="replace" data-ajax="true" action="/reports/reportinput?length=7"> <script type="text/javascript"> $('#inputparameters_0__value').change(function () { $('#refresh').submit(); }); </script> <input id="inputparameters_0__value" type="text" value="" name="inputparameters[0].value">
im stumped on why isnt working, appreciated.
i think better approach put javascript block outside loop, taking consideration of textboxes ids start same word "inputparameters", here thought solution:
1- generate html normal, remove part renders javascript loop.
2- @ end of page, put code block similar following one
<script type="text/javascript"> $(function(){ $('[id^="inputparameters"]').change(function () { $('#refresh').submit(); }); }) </script>
this code should textboxes id starting "inputparameters" word, attaches handler change event normal.
this better targets textbox regardless of randomly added string @ end, , should work expect.
let me know if has worked you, or still need tweak code.
Comments
Post a Comment