根据文本jquery php更改按钮

时间:2015-04-03 19:09:11

标签: javascript php jquery html mysql

是否可以使用jquery根据td单元格中的文本更改按钮?我不想在单元格中有两个不同的按钮。这是jsfiddle中现在的样子。 (抱歉缺少jquery,我不知道如何处理它)

我的mysql表中有三个阶段。列processwaitingprocessingshipped

如果显示processwaiting,则会显示 btn_cancel

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

如果是shipped,则会显示 btn_hidden

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

我怎么能实现这个目标?或者,如果这不可能,那么替代方案是什么?

2 个答案:

答案 0 :(得分:1)

关于你的问题的评论可能是正确的,但你问如何在jQuery中这样做,所以在这里。

你可以循环遍历每个进程表数据并检查.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或其他东西

生成页面,您可能希望在服务器端执行此操作

答案 1 :(得分: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..');
  }
});