这是我的 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/