jQueryを使用して入力テキストの値を設定する方法


350

私はこれである入力テキストがあります:

<div class="editor-label">
    @Html.LabelFor(model => model.EmployeeId, "Employee Number")
</div>

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

次のHTMLを生成する

<div class="editor-label">
  <label for="EmployeeId">Employee Number</label>
</div>

<div class="editor-field textBoxEmployeeNumber">
  <input class="text-box single-line" data-val="true" data-val-number="The field EmployeeId must be a number." data-val-required="The EmployeeId field is required." id="EmployeeId" name="EmployeeId" type="text" value="" />

  <span class="field-validation-valid" data-valmsg-for="EmployeeId" data-valmsg-replace="true"></span>
</div>

私はjqueryを使用してこの入力テキストの値を設定したいので、これを行いました:

<script type="text/javascript" language="javascript">
    $(function() {
        $('.textBoxEmployeeNumber').val("fgg");
    });
</script> 

しかし、それは機能していません...私の構文のエラーは何ですか?


1
私はフォーム内で入力テキストを使用しました...
raberana

回答:


529

セレクタは、テキストボックス<div class='textBoxEmployeeNumber'>内の入力ではなく、テキストボックスの周囲を取得しています。

// Access the input inside the div with this selector:
$(function () {
  $('.textBoxEmployeeNumber input').val("fgg");
});

出力HTMLを見た後に更新

ASP.NETコードが<input>id属性を持つHTML を確実に出力する場合は、次のid='EmployeeId'ように使用するだけです。

$(function () {
  $('#EmployeeId').val("fgg");
});

これに失敗した場合は、ブラウザのエラーコンソールで、これを失敗させる他のスクリプトエラーがないことを確認する必要があります。上記の最初の例は、このデモで正しく機能します。


....試してみましたまた.textBoxEmployeeNumber入力= [タイプ=「テキスト」] ...も動作していない動作していない、ということを試みた
raberana

@using(Html.BeginForm()){@ Html.ValidationSummary(true)<fieldset> <legend> Reservation </ legend> ......... <div class = "editor-label"> @Html。 LabelFor(model => model.EmployeeId、 "Employee Number")</ div> <div class = "editor-field textBoxEmployeeNumber"> @ Html.EditorFor(model => model.EmployeeId)@ Html.ValidationMessageFor(model => model .EmployeeId)</ div> ..........
raberana

<div class = "editor-label"> <label for = "EmployeeId">従業員番号</ label> </ div> <div class = "editor-field textBoxEmployeeNumber"> <input class = "text-box single-line "data-val =" true "data-val-number ="フィールドEmployeeIdは数値でなければなりません。 " data-val-required = "EmployeeIdフィールドは必須です。" id = "EmployeeId" name = "EmployeeId" type = "text" value = "" /> <span class = "field-validation-valid" data-valmsg-for = "EmployeeId" data-valmsg-replace = "true" > </ span> </ div>
raberana 2012年

@RojBerañaブラウザは$(document).ready関数内のコードを読み取りますか?そこにアラートを配置:<script type = "text / javascript" language = "javascript"> alert( 'entered'); $(function(){$( '#EmployeeId')。val( "fgg");}); </ script>
karaxuna、2012年

同様の問題があり、ブラウザに値が表示されますが、F12でコードを確認すると、value=""保存後にDBに空のファイルが存在します。
Sebastian XaweryWiśniowiecki15年

67

jQueryを使用すると、次のコードを使用できます。

入力名で選択:

$('input[name="textboxname"]').val('some value')

入力クラスで選択:

$('input[type=text].textboxclass').val('some value')

入力IDで選択:

$('#textboxid').val('some value')

12
$(document).ready(function () {
    $('#EmployeeId').val("fgg");

    //Or
    $('.textBoxEmployeeNumber > input').val("fgg");

    //Or
    $('.textBoxEmployeeNumber').find('input').val("fgg");
});

5

IDの要素の場合

<input id="id_input_text16" type="text" placeholder="Ender Data"></input>

次のように値を設定できます

$("#id_input_text16").val("testValue");

ドキュメントはこちら


4

これはクラス用です

$('.nameofdiv').val('we are developers');

ID用

$('#nameofdiv').val('we are developers');

今、あなたがあなたが使うことができる形式の出力を持っているなら

$("#form li.name input.name_val").val('we are awsome developers');

0

デフォルトのファイルアップロードの参照ボタンよりも見栄えの良いブートストラップボタンを持つファイルアップロードの別のバリエーションを次に示します。これはhtmlです:

<div class="form-group">
        @Html.LabelFor(model => model.FileName, htmlAttributes: new { @class = "col-md-2  control-label" })
        <div class="col-md-1 btn btn-sn btn-primary" id="browseButton" onclick="$(this).parent().find('input[type=file]').click();">browse</div>
        <div class="col-md-7">
            <input id="fileSpace" name="uploaded_file"  type="file" style="display: none;">   @*style="display: none;"*@
            @Html.EditorFor(model => model.FileName, new { htmlAttributes = new { @class = "form-control", @id = "modelField"} })
            @Html.ValidationMessageFor(model => model.FileName, "", new { @class = "text-danger" })
        </div>
    </div>

スクリプトは次のとおりです。

        $('#fileSpace').on("change", function () {
        $("#modelField").val($('input[name="uploaded_file"]').val());

0

純粋なjsでは、より簡単になります

EmployeeId.value = 'fgg';

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.