简体   繁体   中英

How to pass model data in javascript

I need to pass a model value item.ID to one of my javascript function how can I do that ?

I tried function("@item.ID") but its not working

It generally works this way, you just have to omit the "" otherwise it gets interpreted as string. So you can write something like that in your JS:

var myinteger = @item.ID;

which renders as

var myinteger = 123;   //for example

Edit: This makes sense when you id is an integer, of course, for strings you need to encapsulate it in '' or "" . And don't get annoyed by any syntax errors reported by intellisense, it seems to have a problem with that but it works out just nicely.

Try this...mind single quotes on parameter value while calling js function

function MyJsFunction(modelvalue)
{
     alert("your model value: " + modelvalue);
}

<input type="button" onclick="MyJsFunction('@item.ID')" />
OR
<input type="button" onclick="MyJsFunction('@(item.ID)')" />

You can pass the model data into the java script file in these ways (1). Just set the value in hidden field and access the value of hidden field in java script. (2). And pass the value using function parameter. (3).

        var LoginResourceKeyCollection = {
            UserName_Required: '<%= Model.UserName%>',
            Password_Required: '<%= Model.Password%>'

        }
   </script>

The best solution is pass your textbox ID to javascrpit function and then in function retrieve the value form the ID,

 @Html.TextBoxFor(model => model.DatemailedStart, new {id = "MailStartDate", placeholder = "MM/DD/YYYY", maxlength = "40", @class = "TextboxDates", @onblur = "isValidDate('MailStartDate');" })

  function isValidDate(id) {
    var dateString = $('#'+id+'').val();
  }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM