2015-04-03 117 views
0

是否有可能使用jquery根據td單元格中的文本更改按鈕?我不想在一個單元中有兩個不同的按鈕。下面是jsfiddle中現在的樣子。 (對不起,關於缺乏jQuery,我不知道如何處理它)基於文本更改按鈕jquery php

我在我的mysql表中有三個階段。列processwaiting變爲processing變爲shipped

當它是processwaiting,btn_cancel顯示。

<input type="submi" class="btn btn-danger" id="btn_cancel" name="cancel" value="Cancel Order"> 

當它是shippedbtn_hidden顯示。

<input type="submit" class="btn btn-danger" id="btn_hidden" name="hidden" value="Hide"> 

我怎麼能做到這一點?或者,如果這是不可能的,有什麼選擇?

+0

是要動態更新的單元格的值嗎?如果沒有,爲什麼不在頁面建立在PHP時給按鈕正確的值?如果它是動態的,那麼無論何時設置,還要更改按鈕 – 2015-04-03 19:15:13

+0

請看php http://www.w3schools.com/php/php_if_else.asp中的條件語句。根據您的狀態制定條件 – Raja 2015-04-03 19:17:54

+0

@pala_它顯示在表格中,管理員會更改它,所以我希望它在用戶端更改,但不知道如何實現這個 – alice 2015-04-03 19:27:37

回答

1

對你的問題的評論可能是正確的,但你問在jQuery中如何做到這一點。

您可以遍歷每個proccess表格數據並檢查.text(),如果文本===等待然後執行按鈕的操作。這是基於你的jsFiddle

$(function(){ 

    $('[data-proccess]').each(function(ind, process){ 
    var content = $(process).text().toLocaleLowerCase(); 
    if(content !== 'waiting'){ 
     $(process).closest('tr').find('[name="cancel"]').hide(); 
    } 
    }); 

}); 

這就是說。你可能想在服務器端做這件事,如果你使用php或其他東西生成頁面

+0

我已經嘗試過您的解決方案,它的工作原理。但是,當我執行此操作時,它不運行這些操作。例如,沒有代碼,當我點擊按鈕取消和隱藏。他們工作,但當我實現這一點,我clikc按鈕上,沒有任何反應。 – alice 2015-04-04 21:29:29

+0

你指的是什麼動作? – 2015-04-13 20:45:53

0

你可以嘗試以下操作。請使用適當的值#btn_id

$("table tr").each(function(i){ 
    var $tds = $(this).find("td"); 
    var status = $tds.eq(1).text().toLocaleLowerCase(); 

    if(status === 'waiting' || status === 'processing'){ 
    $tds.eq(2).find("#btn_id").attr('value', 'Cancel Order'); 
    } 
    else if(status === 'shipped'){ 
    $tds.eq(2).find("#btn_id").attr('value', 'Hide'); 
    } 
    else{ 
    $tds.eq(2).find("#btn_id").attr('value', 'Wait..'); 
    } 
}); 
+0

我試過你的解決方案,它的工作原理。但是,當我執行此操作時,它不運行這些操作。例如,沒有代碼,當我點擊按鈕取消和隱藏。他們工作,但當我實現這一點,我clikc按鈕上,沒有任何反應。 – alice 2015-04-04 21:29:43