使用jQuery将span内容替换为字段值

时间:2015-11-29 08:03:03

标签: javascript jquery html keyup

我希望有表单字段,填充后单击按钮将更改html中span的内容。我尝试了以下内容,但是跨度内容没有被替换。

我写了以下html:

<form role="form">
    <div class="form-group">
        <label for="name">
            Name
        </label>
        <input type="text" class="form-control" id="nameValue" />
    </div>
    <button id="generate" type="submit" class="btn btn-default">
            Generate Story
    </button>
</form>

<p>The persons name is <span id="name"></span></p>

然后编写了以下jQuery:

<script>

$(function() {
  $("button").click( function()
       {
            $("#nameValue").keyup(function() {
                var val = $(this).val();
                $("#name").html(val);
            });
       }
  );
});

</script>

2 个答案:

答案 0 :(得分:1)

尝试分离keyupclick事件处理程序,如果button没有值,设置{{1,disabled true设为"#nameValue"button事件

上{}} disabledfalse

&#13;
&#13;
keyup
&#13;
$(function() {
  var button = $("button"),
    val = "";
  $("#nameValue").keyup(function() {
    val = $(this).val();
    if (val.length > 0 && /\w+/.test(val)) button.prop("disabled", false)
  });
  button.click(function(e) {
    e.preventDefault();
    $("#name").html(val);
  });
});
&#13;
&#13;
&#13;

答案 1 :(得分:0)

这将在按钮单击和键盘上改变跨度值

   <script>

    $(function() {
        $("button").click( function(){
            changeSpanValue($("#nameValue").val());
        });

        $("#nameValue").keyup(function() {
            changeSpanValue($(this).val());
        });
    });

    function changeSpanValue(val){
       $("#name").html(val);
    }

   </script>