Hammad Shahid
Hammad Shahid

Reputation: 2216

how to set value of @Html.EditorFor using jquery in in asp.net mvc

I want to set the value of my input text using jquery. I have tried by doing this :

    <div class="editor-label">
        @Html.LabelFor(model => model.ID )
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.ID)
        @Html.ValidationMessageFor(model => model.ID)
    </div>

and jquery syntax :

    $("#ID").val(data.ID);

But it is not working. I have tried the same jquery code with this :

<input type="text" id="ID" />

This approach is working , but I don't know why @Html.EditorFor is not working with jquery .Thanks in advance

Upvotes: 6

Views: 29190

Answers (5)

danteMesquita
danteMesquita

Reputation: 107

Try this

$("#someid").prop('checked', true); // for checked
$("#someid").prop('checked', false);

Upvotes: 0

d2z2
d2z2

Reputation: 31

You can add the @id, @class, etc on EditorFor as follows:

@Html.EditorFor(model => model.ID, new {htmlAttributes = new {@id="someid"}})

Upvotes: 3

Jayvee Grapa
Jayvee Grapa

Reputation: 21

this works for me

<div class="editor-field">
    @Html.EditorFor(model => model.ID)
    @Html.ValidationMessageFor(model => model.ID)
</div>

<div class="editor-field">
    @Html.EditorFor(model => model.SetID)
    @Html.ValidationMessageFor(model => model.SetID)
</div>

and javascript is

var d = $("#ID ").val();
$("#SetID").val(d);  

or

$("#SetID").val($("#ID ").val());

Upvotes: 2

StringBuilder
StringBuilder

Reputation: 1629

You should use

@Html.EditorFor(model => model.ID, new {@id="someid"})

Then

$("#someid").val (someval)

Upvotes: 0

JonVD
JonVD

Reputation: 4268

You're better off using the TextBoxFor method as it allows you to change the id and class of the element directly whereas EditorFor doesn't unless you create a custom edit state for it (using EditorTemplate).

@Html.TextBoxFor(model => model.ID, new { id = "ID" })

I believe @Html.EditorFor(model => model.ID) will set the name attribute as that is what mvc depends upon to do its model binding so if the above is not to your liking you can perhaps use the name as a selector.

Upvotes: 4

Related Questions