我正在使用onClick事件从文本区域获取值。 如果我使用下面的代码,它返回html而不是如下的值:
$(this).find(".button2").click(function($e) {
var comment_content = $(this).find('textarea[name="comment_content"]').val();
console.log(comment_content);
});
输出:
<textarea class="styledtextarea" id="comment_content" name="comment_content" onblur="if(this.value=='')this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue)this.value='';"></textarea>
即使我在文本区域中给出任何值,我仍然看不到。
这是我的HTML:
<div class="">
<div class="">
<form id="" class="">
<div class="">
<p></p>
<div id="" class="">
<div class="" style="">
</div>
</div>
</div>
<div id="" class="">
<p><b></b></p>
<textarea class="styledtextarea" id="comment_content" name="comment_content" onblur="if(this.value=='')this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue)this.value='';" ></textarea>
<a href="#" class="button2" type="submit"><span><b>Send<b></span></a>
</form>
</div>
</div>
</div>
答案 0 :(得分:3)
在this
回调函数中使用click
时,您引用了触发click
事件的对象,在本例中为.button2
。
执行var comment_content = $(this).find('textarea[name="comment_content"]').val();
时,您实际上是在textarea[name="comment_content"]
元素中搜索.button2
。
您需要做的是:
$(".button2").click(function($e) {
var comment_content = $('textarea[name="comment_content"]').val();
console.log(comment_content);
});
答案 1 :(得分:0)
请尝试以下
var comment_content = $(this).find("textarea#comment_content").val();
答案 2 :(得分:0)
根据你的JS代码,textarea是按钮的子元素,我确信不是这样。
请尝试使用此代码(不要在$(this)上使用.find()方法来查找textarea):
<ui-select ng-model="person.selected" theme="select2" class="form-control" title="Choose a person">
<ui-select-match placeholder="Select or search a person in the list...">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="item in people | propsFilter: {name:$select.search}">
<div ng-bind-html="item.name | highlight: $select.search"></div>
<small ng-bind-html="item.email | highlight: $select.search"></small>
</ui-select-choices>
</ui-select>
});