我的jquery提示仅在文本框中有效,而不是textarea。如何使它适用于两者。
$(document).ready(function() {
//Shows the title in the text box, and removes it when modifying it
$('input[title]').each(function(i) {
if(!$(this).val()) {
$(this).val($(this).attr('title')).addClass('hint');
}
仅适用于:
<input type="text" name="name" title="Full Name" >
但不是:
<textarea title="Enter Message Here"name="message" rows=8 cols=30 </textarea>
答案 0 :(得分:3)
您当前的选择器$('input[title]')
表示选择具有title属性集的输入。它没有说textareas。
你需要这样做:
$('input[title],textarea[title]')
或者,可以说更好:
$(':input[title]') // note the colon
第一个说选择具有title属性的所有输入元素和具有title属性的所有textarea元素。第二个使用jQuery的:input
selector,它自动抓取所有输入,textarea,select和button元素(即所有表单元素),但在这种情况下仅限于具有title属性的那些。
工作演示:http://jsfiddle.net/qMLRK/
注意:您应该在字段中允许空格,因为<textarea> </textarea>
不为空:
if ($.trim($(this).val()) === "")
// NOT
if(!$(this).val())
答案 1 :(得分:0)
JQuery将所有内容都作为选择。
textarea不是输入类型,所以只需添加JQuery选择。
$('input[title],textarea[title]').each(function(i) {
这应解决该问题。您也可以给同一个类:),然后只需按类选择,这会将您的选择减少到(假设您使用名称文本框作为类)
$( '文本框')。每个