我有以下内容:
<div class="tab-pane" id="message">
<textarea rows="4" cols="50" id="send_message" placeholder="Enter text ..."> </textarea>
<a href="#message" class="btn btn-large btn-info" data-toggle="tab">OK</a>
<a href="#message" class="btn btn-large btn-info" data-toggle="tab">Cancel</a>
</div>
我想点击取消按钮时清除textarea内容。我有:
$('#message').on("click", "a", function(){
if($(this).is(":contains(Cancel)")) {
$("#send_message")(
function(){
$(this).val('');
}
);
}
else if($(this).is(":contains(OK)")) {
......
}
});
但这没有做任何事情。我该如何解决这个问题。
答案 0 :(得分:6)
您可以使用:
$('#message').on("click", "a", function () {
if ($(this).is(":contains(Cancel)")) {
$("#send_message").val('');
} else if ($(this).is(":contains(OK)")) { // other code
}
});
在您使用选择器$("#send_message")
的代码中,您不能在此之后添加function
。您在“错误放置”功能中引用的$(this)
已经“拥有”通过使用id选择器。因此,我使用了您的想法并更正了代码中的一些内容以使其正常工作。
答案 1 :(得分:2)
我认为您的行中存在错误。它应该只是:
$("#send_message").val("")
答案 2 :(得分:1)
这是一个可以满足您需求的小提琴。 http://jsfiddle.net/PsWHJ/
<div class="tab-pane" id="message">
<textarea rows="4" cols="50" id="send_message" placeholder="Enter text ..."> </textarea>
<a href="#message" class="btn btn-large btn-info" data-toggle="tab">OK</a>
<a href="#message" class="btn btn-large btn-info" data-toggle="tab">Cancel</a>
</div>
$('a','#message').on('click',function(){
if($(this).text() === 'OK'){
alert('Process Form');
}else{
$('#send_message').val("");
}
});
答案 3 :(得分:1)
还有另一种方式......
$('#message').on("click", "a", function () {
var jqEl = $(this);
if (jqEl.text() == "Cancel")) {
jqEl.prevAll('textarea').val('');
} else if (jqEl.text() == "OK") {
//Do other stuff...
}
});
希望有所帮助