2011-08-22 106 views
0

這應該很簡單,但由於某種原因令我驚詫。我確定這是我搞亂的語法。需要關於jQuery Selector的幫助

我在頁面上有一堆提交按鈕。 (這是一個調查網站)。每個提交按鈕都帶有表單的特定部分,因此按鈕將被禁用,直到填寫所需的元素。爲了幫助我將正確的提交按鈕綁定到正確的元素,我將ID和NAME設置爲在數據庫中包含單詞「submit」以及問題的GUID。 (這是一個ASP.NET網站)。因此,例如,當ASP.NET呈現頁面,它會創建這樣的:

<input type="submit" id="MainContent_ctl00_submitc03d5172-f7fa-4e9c-a762-3261461befbd" value="Submit Response" name="ctl00$MainContent$ctl00$submitc03d5172-f7fa-4e9c-a762-3261461befbd"> 

我真的只是想抓住以「submitc03d5172-f7fa-4e9c-a762結束任何有一個ID(或名稱) -3261461befbd」。

請記住,每個按鈕的每個GUID都不相同,因此我將GUID傳遞給該函數。

我的JavaScript函數如下所示:

function enableSubmit(id) { 
    $('input[id$="submit" + id]').button('enable'); 
} 

但不工作,我不知道爲什麼。請幫助...

回答

5

試試這個

function enableSubmit(id) { 
    $('input[id$="submit' + id + '"]').attr('disabled', false); 
} 
+0

任何人都可以expalin我要投下來的原因是什麼? – ShankarSangoli

+0

@Todd - 請嘗試這個答案,你應該很好。 – ShankarSangoli

+0

我不是down-voter,但我假設它是因爲語法錯誤('='而不是'id'後面的'+')。 –

1

嘗試contains selector

function enableSubmit(id) { 
    $('input[id*="submit' + id + '"]').attr('disabled', false); 
} 
1

選擇字符串的正確geeneration將

$('input[id$="submit' + id + '"]') 

此外,從文檔,使初始化後的jquery按鈕(不是第一次創建時)

Get or set the disabled option, after init. 
//getter 
var disabled = $(".selector").button("option", "disabled"); 
//setter 
$(".selector").button("option", "disabled", true); 

this jsfiddle for complete example