javascript - 文本区域的内容未传递

标签 javascript jquery html

这是我的 HTML,其中包含几个单选按钮之一:

<div>

        <input type="radio" value="3">  <label>Some random text.</label>

        <div class="reason">
            <p>Please state reason:</p>
            <textarea id="reason_3" size="60">Reason stated.</textarea>
        </div>  

</div>

这是我的 jQuery 不起作用:

var option = 3;
var reason = $("input[value='" + option + "']").next(".reason").has("textarea").val();

我的目标是将文本区域的内容放入变量reason中。我的 jQuery 代码不知何故没有实现这一点,当我编写 alert(reason) 时,我得到的消息是 undefined....我需要文本区域的内容PHP 脚本...

这里出了什么问题???

最佳答案

您需要使用find()而不是has() - 也代替 next() ,您需要使用siblings()

var option = 3;
var reason = $("input[value='" + option + "']").siblings(".reason").find("textarea").val();

演示:Fiddle

  • .reason 元素不是输入元素的下一个同级元素,它是下一个元素的下一个,因此您可以使用 .next().next('.reason ') 或使用 siblings()
  • .has() 用于根据后代选择器过滤元素集,而不是查找后代元素 - 因此请改用 .find() 。<

关于javascript - 文本区域的内容未传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460502/

相关文章:

javascript - nvd3 工具提示十进制格式

带有字符串和索引的 JavaScript 类型强制

javascript - 我可以在 Angular 路由时传递数据吗

jQuery 多个选择器作为变量

html - Firefox 中的自定义字体

android - Css 不适用于 Iphone

javascript - 37 信号风格灯箱 |这个怎么做?

javascript - 无法通过 AJAX 将 JSON 渲染为 HTML

javascript - 如何跟踪 javascript html 页面的键?

javascript - 使用 for 循环创建 div 元素