登录

javascript - jquery 如何向input value里追加值

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="jquery-1.8.2.min.js"></script>
</head>
<style type="text/css">
    .box{width: 600px;height: 300px;border: 1px solid #ccc;margin: 0 auto}
    .func span{margin-right: 10px;cursor: pointer;}
</style>
<body>
        <p class="box">
            <input type="text" name="" value="">
        </p>
        <p class="func">
            <span>补水,</span><span>保湿,</span><span>去皱,</span><span>美白,</span>
        </p>
</body>
<script type="text/javascript">
    $(".func span").click(function(){
        h=$(this).html();
        $(".box input").attr("value").append(h);
    });
</script>
</html>

我这里写的是错的 我是想实现 点一下span 然后往input value里添加一个值

# JavaScript
漂亮男人 漂亮男人 2480 天前 1515 次浏览

全部回复(5) 我要回复

  • 学习ing

    学习ing2017-07-05 11:04:29

    $(".box input").val($(".box input").val() + h)

    回复
    0
  • 三叔

    三叔2017-07-05 11:04:29

    $(".box input").val($(".box input").val()+$(this).text())

    回复
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-07-05 11:04:29

    不知道你说的追加是什么意思?我理解的是原来val是空字符串'',点了一个‘补水,’,然后字符串拼接,val变成‘补水,’,再点了一个‘保湿,’,追加var就变成了‘补水,保湿,’

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <script type="text/javascript" src="jquery-1.8.2.min.js"></script>
    </head>
    <style type="text/css">
        .box{width: 600px;height: 300px;border: 1px solid #ccc;margin: 0 auto}
        .func span{margin-right: 10px;cursor: pointer;}
    </style>
    <body>
            <p class="box">
                <input id= "id_box_input" type="text" name="" value="">
            </p>
            <p class="func">
                <span>补水,</span><span>保湿,</span><span>去皱,</span><span>美白,</span>
            </p>
    </body>
    <script type="text/javascript">
        $(".func span").click(function(){
            h=$(this).text();
            $("#id_box_input").val($("#id_box_input").val + h);
        });
    </script>
    </html>

    回复
    0
  • 怪我咯

    怪我咯2017-07-05 11:04:29

    $(".func span").click(function(){
        var text = $(this).text();
        var $input = $(".box input")
        $input.val($input.val()+text);
    });

    回复
    0
  • typecho

    typecho2017-07-05 11:04:29

    楼上说的都对,你可能没有理解append和直接赋值val()的区别,append是把一个元素插入到已有的dom节点中,比如:

    1. 把<span>补水,</span>  插入到p中
    var span = '<span>补水,</span>';
    $("p").append(span),此时span就被加入到p中了
    2. 而赋值直接是在input中给定一个值
    直接
    $("input").val(你需要插入的值)
    
    可以试试看
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>时间</title>
      <style type="text/css">
        .box{width: 600px;height: 300px;border: 1px solid #ccc;margin: 0 auto}
        .func span{margin-right: 10px;cursor: pointer;}
    </style>
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
    <body>
            <p class="box" id="p">
                <input type="text" name="" value="">
            </p>
            <p class="func">
                <span>补水,</span><span>保湿,</span><span>去皱,</span><span>美白,</span>
            </p>
    </body>
    <script type="text/javascript">
        $(".func span").click(function(){
            h = $(this).html();
            $(".box input").val($(".box input").val() + h); // val
            $("#p").append(h); // append
        });
    </script>
    </html>

    回复
    0
  • 取消 回复 发送