如何获取editorfor的值并将此值分配给另一个编辑器?

时间:2014-09-08 07:50:50

标签: jquery asp.net-mvc model-view-controller editorfor

我希望获得projectName的值,但Alert结果总是:

Value: function(value){
return access(this, function(value){ 
return value === undefined ? 
Jquery.text(this):
this.empty().each(function(){…. 
像那样。我尝试了.val和.html方法。但它们不起作用。我还将EditorFor更改为TextBoxFor,但再次无效。我该怎么办?提前谢谢。

在这里我的观点:

<script>
$(document).ready(function () {
    $("#projectName").change(function(){
        alert("Value: " + $("#identifier").text);
    });
});
</script>

<div class="form-group">
    @Html.LabelFor(model => model.projectName, new { @class = "col-lg-2 control-label" })

    <div class="col-lg-10">
        <p>@Html.EditorFor(model => model.projectName, new { htmlAttributes = new { @class = "form-control", id = "projectName" } })</p>
        @Html.ValidationMessageFor(model => model.projectName)
    </div>
</div>

<div class="form-group">
    @Html.LabelFor(model => model.identifier, htmlAttributes: new { @class = "col-lg-2 control-label" })
    <div class="col-lg-10">
        <p>@Html.EditorFor(model => model.identifier, new { htmlAttributes = new { @class = "form-control", id = "identifier" } })</p>
        @Html.ValidationMessageFor(model => model.identifier)
    </div>
</div>

3 个答案:

答案 0 :(得分:2)

尝试: -

$(document).ready(function () {
   $("#projectName").on('input',function(){
      $('#identifier').val($(this).val());
   });
});

答案 1 :(得分:1)

您可以使用keyup事件并将值复制到其他控件,这样当用户在projectName文本框中写入内容时,该值也会被复制到identifier文本框中:

$(document).ready(function () {
    $("#projectName").keyup(function(){
        $("#identifier").val($(this).val());
        alert($("#identifier").val())
    });
});

或者你可以在你的文本框失去那个时间的复制值时写出事件:

$(document).ready(function () {
    $("#projectName").blur(function(){
        $("#identifier").val($(this).val());
        alert($("#identifier").val())
    });
});

答案 2 :(得分:1)

在我的解决方案中,我使用了“复制”按钮

$(document).ready(function () {
    $('#buttonCopy').click(function() {
        $("#identifier").val($("#projectName").val());
    });
});