如何使用javascript更改<input />标记的文本值

时间:2013-06-06 16:40:58

标签: javascript jquery html css

我似乎无法弄清楚这个简单的任务。我有一个输入文本字段,我想接受一个值,并更改单击链接时的值。我的HTML代码如下:

<body>
    <div id="outsideContainer">
    <div id="guessContainer">
        <h3> Guess a number between 1 and 10 </h3>

        <input id="txtfield" name="txtfield" type="text" class="value"/><br>

        <a href=" " class="query"> Submit here </a> 
    </div>
    <div id="guessShow">
        <p class="hotter hideStuff" > Getting Hotter!! </p>
        <p class="colder hideStuff"> Getting Colder, BRRR!!! </p>
        <p class="gotIt hideStuff"> Awesome! You have guessed the number </p>
    </div>
    </div>
    </body>

我想要做的是将class =“value”中显示的文本更改为某些内容。我尝试过使用

jQuery(document).ready(function(){
         $('.query').on('click', function(){
            $(this).closest('#guessContainer').find('.value').css("value", "whoa");
            });
            });

但它不起作用。我也尝试使用.css方法并为输入赋值,但这也不起作用。任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:3)

尝试使用.attr()

   $(this).closest('#guessContainer').find('.value').attr("value", "whoa");

 $(this).closest('#guessContainer').find('.value').val("whoa");

答案 1 :(得分:1)

$(document).ready(function() {
    $('.query').on('click', function() {
        $('#guessContainer .value').val("whoa");
    });
});

这样可行。您不使用.css()函数来分配值,因为您尝试更改的内容不是CSS属性。

答案 2 :(得分:0)

您可以使用val方法;您也可以简化选择器,因为您使用的是ID:

$('#guessContainer input.value').val("whoa");

答案 3 :(得分:0)

您还可以在jQuery对象上使用纯JavaScript设置值:

$('#guessContainer').find('.value')[0].value= "whoa";

JSFiddle demo

答案 4 :(得分:0)

输入的值与css无关。尝试使用

进行设置
document.getElementByID('myInputId').value = newValue;

或者在JQuery中

$('#myInputId').val(newValue);

因此,在您的示例中,您可能会将单击处理函数更改为以下内容:

$(this).closest('#guessContainer').find('.value').val("whoa");
});