2

我似乎无法弄清楚这个简单的任务。我有一个输入文本字段,我想从中接受一个值,并更改单击链接时的值。我的 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 方法并为输入分配一个值,但这也不起作用。任何帮助,将不胜感激。

4

5 回答 5

3

尝试.attr()

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

或者

 $(this).closest('#guessContainer').find('.value').val("whoa");
于 2013-06-06T16:43:00.487 回答
1
$(document).ready(function() {
    $('.query').on('click', function() {
        $('#guessContainer .value').val("whoa");
    });
});

这会奏效。您不使用该.css()函数来分配值,因为您要更改的不是 CSS 属性。

于 2013-06-06T16:44:14.117 回答
0

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

$('#guessContainer input.value').val("whoa");
于 2013-06-06T16:43:30.280 回答
0

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

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

JSFiddle 演示

于 2013-06-06T16:45:53.840 回答
0

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

document.getElementByID('myInputId').value = newValue;

或者在 JQuery 中

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

因此,在您的示例中,您可能会将 on click 处理程序函数更改为如下所示:

$(this).closest('#guessContainer').find('.value').val("whoa");
});
于 2013-06-06T16:46:27.343 回答