2009-08-28 22 views

回答

4

什麼就jQuery的耶穌嗎?

$('textarea').is(":contains('')") 

$('input.title').is(":empty") 

我猜;)

+1

這個解決方案實際上比我的更好:) – Mike 2009-08-28 09:54:57

+0

一個IF聲明?如果是這樣,它看起來不太可讀。 – 2009-08-28 12:39:30

+0

jQuery.is()返回一個布爾值,我會說這是非常可讀的:) – Mickel 2009-08-28 14:59:03

-1
if ($("textarea").val() != "" && $("input.title").val() != "") { 
    $('.ask_question').attr('enabled', 'enabled'); 
} 
+0

你缺少一個報價有:應該是'ATTR( '已啓用', '啓用')'。 – 2009-08-28 09:21:10

+0

$(textarea).value() - value()不是jQuery方法 - 它是val()。此外,選擇器應該用引號引起來,理想情況下只返回一個單一的項目。 – Fenton 2009-08-28 09:23:55

+0

'.attr('enabled',true)'也可以。 – nickf 2009-08-28 09:56:12

0
if ($("#myTextArea").val().length != 0 AND $("#myTextBox").val() != 0) { 
    $('.ask_question').removeAttr("disabled"); 
} 

您可以使用 「文本區域」 和 「輸入[CLASS = '標題']」,但它是可能的這些返回多個結果。

+1

你的代碼在第二個'.val()'後面似乎需要'.length'。但是,我還沒有設法讓您的代碼在添加或不添加的情況下工作。 – 2009-08-28 10:02:47

+0

有斑點,它確實需要val()之後的.length。你得到一個錯誤或意想不到的結果? – Fenton 2009-08-29 20:40:01

0

不是太遙遠。

if ($("textarea").val().length && $("input.title").val().length) { 
    $('.ask_question').removeAttr('disabled'); 
} 
+0

難道你不應該將長度與某些東西進行比較 - 或者你是否依靠0被隱式轉換爲false? – Fenton 2009-08-28 09:25:52

+0

是的 - 我試圖從修辭角度指出,將整數隱式轉換爲布爾值不是很好。 – Fenton 2009-08-28 09:29:48

+2

我覺得很好! – 2009-08-28 09:39:53

1
if ($("textarea:empty").length == 0 && $("input.title:empty").length == 0) { 
    $('.ask_question').attr('enabled', 'enabled'); 
} 

方法 屬性的jQuery length返回選出的元素的數量。 :empty是一個jQuery選擇器,用於選擇沒有子元素或沒有文本的元素。

所以,

if (number of empty textarea is 0) AND (number of empty input with the class title is 0) then 
    enable somthing! 
+2

「長度」是屬性,而不是方法。 – nickf 2009-08-28 09:55:08

+0

Firebug爲我的代碼提供了以下錯誤:'$(「textarea:empty」)。length不是函數' – 2009-08-28 10:13:11

+0

感謝nickf,監督了那個 – Mike 2009-08-28 12:28:34