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.