【问题标题】:JQUERY - after typing in textarea .change of select menu doesnt do anythingJQUERY - 输入 textarea 后 .change 选择菜单没有做任何事情
【发布时间】:2012-01-29 23:34:04
【问题描述】:

我对发生的事情有点困惑,因为这对我来说不合逻辑。有什么意义?

我有这样的 HTML:

<select id="id_number">
    <option value="0">option 1</option>
    <option value="1">option 2</option>
    <option value="2">option 3</option>

</select>
<br /><br />
<textarea id="description" placeholder="whatever">test1</textarea>

还有这样的jquery

$("#id_number").change(function() {
    $("#description").text('123');  // test function
});

当我加载页面时,我应该有带有 3 个选项的选择菜单和带有“test1”文本的文本区域。我有。现在,当我更改为任何选项时,textarea 会更改为 '123 与测试功能一样。不幸的是,当我从键盘在 textarea 中键入任何文本,然后再次从菜单中选择选项时,它没有将 '123' 放入 textarea - 我不知道为什么但没有任何反应,好像在 textarea 中输入任何内容以某种方式改变了 textarea 的状态和jquery 可以改变它了。每次我更改选择菜单中的选项时,您有什么想法如何更改 textarea 文本?

【问题讨论】:

    标签: jquery textarea


    【解决方案1】:

    text() 只是改变 DOM 元素的值,在这种情况下是文本区域,但不会改变实际值。为此,您必须使用val()。您可以在 jQuery 文档页面上找到有关它的更多信息:http://api.jquery.com/text/

    【讨论】:

    • 感谢您的回答 - 这很有帮助,因为它现在可以按我的预期工作。不幸的是,我读到 textarea 像其他输入标签一样“没有价值”,我必须更改“html”或“文本”。非常感谢!
    【解决方案2】:

    我认为这是您在 HTML 本身中放置 jQuery 语句的位置的问题。因为代码在 JSFiddle 上对我有用......看这里http://jsfiddle.net/AKuWd/

    但是,当您更改为“nowrap (body)”时,它不起作用...

    【讨论】:

      【解决方案3】:

      你应该试试这个选择任何选项:

      $('#id_number').live('change', function(){

      var id_number_value=$('#id_number').val(); 
      $('#description').val('');
      var description_value=$('#description').val();
      if(id_number_value=='' || id_number_value=='null')
          $('#description').val(id_number_value+""+description_value);
      else 
          $('#description').val(id_number_value+" ");
      

      });

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-18
        • 2018-11-29
        • 2011-11-23
        • 2019-10-03
        • 2012-09-07
        • 2016-10-02
        相关资源
        最近更新 更多