我有一个输入文本,是这样的。
<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>
然而,这并不奏效......我的语法有什么错误?
你的选择器正在检索文本框周围的<div class='textBoxEmployeeNumber'>
,而不是它里面的输入。
// Access the input inside the div with this selector:
$(function () {
$('.textBoxEmployeeNumber input').val("fgg");
});
如果ASP.NET代码能可靠地输出HTML<input>
,并带有id属性id='EmployeeId'
,你可以更简单地只使用。
$(function () {
$('#EmployeeId').val("fgg");
});
如果做不到这一点,你需要在浏览器的错误控制台中确认,你没有其他脚本错误导致失败。 上面的第一个例子[在本演示中正确运行。](
)使用jQuery,我们可以使用以下代码。
按输入名称选择。
$('input[name="textboxname"]').val('some value')
按输入类别选择。
$('input[type=text].textboxclass').val('some value')
按输入ID选择。
$('#textboxid').val('some value')
$(document).ready(function () {
$('#EmployeeId').val("fgg");
//Or
$('.textBoxEmployeeNumber > input').val("fgg");
//Or
$('.textBoxEmployeeNumber').find('input').val("fgg");
});
这里是另一个文件上传的变化,它有一个比默认的文件上传浏览按钮更好看的bootstrap按钮。 这是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());
在纯js中会更简单
EmployeeId.value = 'fgg';
<!--开始片段。 js hide: true console: true babel.false --> -- begin snippet: js hide: true console: true false -->
EmployeeId.value = 'fgg';
<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>
<!--结束片段-->