簡體   English   中英

我想基於文本值更改表格循環中文本的顏色

[英]I want to change color of text in a table loop based on text value

我有一個循環table顯示下拉表單發布(lotstatus)的結果。 我希望能夠根據它們在form selectedvalue來更改文本的color

 if($result = mysqli_query($conn, $sql)){ if(mysqli_num_rows($res) > 0){ echo " <table class='table table-bordered table-striped' width='100%' data-pagination='true' data-search='true'>"; echo " <thead>"; echo " <tr>"; echo " <th>Status</th>"; echo " <th>Street #</th>"; echo " <th>Street Name</th>"; echo " <th>City</th>"; echo " <th>Parcel ID</th>"; echo " <th>Lot # (Unit)</th>"; echo " <th>Contract Signed Date</th>"; echo " <th>Closing Date</th>"; echo " <th>Action</th>"; echo "</tr>"; echo "</thead>"; echo " <tbody>"; while($row = mysqli_fetch_array($res)){ echo " <tr>"; echo " <td>" . " <div class='statuscolor'>". $row['lotstatus'] . "</div>". "</td>"; echo " <td>" . $row['streetnumber'] . "</td>"; echo " <td>" . $row['streetname'] . "</td>"; echo " <td>" . $row['city'] . "</td>"; echo " <td>" . $row['parcelid'] . "</td>"; echo " <td>" . $row['lotnumber'] . "</td>"; echo " <td>" . $row['contractsigneddate'] . "</td>"; echo " <td>" . $row['closingdate'] . "</td>"; echo " <td>"; echo "<a class='btn btn-info mr-2 mt-2' href='readLot.php?id=". $row[' id '] ."' title='View' data-toggle='tooltip'><span style='margin-left: 7px;' class='la la-file-o ks-icon'></span></a>"; echo "<a class='btn btn-warning mr-2 mt-2' href='updateLot.php?id=". $row[' id '] ."' title='Edit ' data-toggle='tooltip'><span style='margin-left: 7px;' class='la la-pencil ks-icon'></span></a>"; echo " <a class='btn btn-danger mt-2' href='deleteLot.php?id=". $row[' id '] ."' title='Delete ' data-toggle='tooltip'><span style='margin-left: 7px;' class='la la-close ks-icon'></span></a>"; echo "</td>"; echo "</tr>"; } echo "</tbody>"; echo "</table>"; // Free result set mysqli_free_result($result); } else{ echo " <p class='lead'><em>No Lots were found.</em></p>"; } } 

在這里以我正在使用的形式:用戶選擇批次狀態-我想根據他們選擇的內容更改狀態的顏色。

 <select class="form-control" value="<?php echo $lotstatus; ?>" id="lotstatus" name="lotstatus"> <option value="NA">N/A</option> <option value="Executed">Executed</option> <option value="Not Interested">Not Interested</option> <option value="Hold">Hold</option> <option value="Title Ordered">Title Ordered</option> <option value="Vetting">Vetting</option> <option value="Survey Ordered">Survey Ordered</option> <option value="Lean Search Ordered">Lean Search Ordered</option> <option value="Clear to Close">Clear to Close</option> <option value="Closed">Closed</option> </select> 

我嘗試設置選項值的樣式,還嘗試選擇字段的text()值。 什么都沒用...幫助!

首先,您需要為每行添加狀態:

<tr class=\"Executed\">"; echo "
<tr class=\"Hold\">"; echo "

使用JS,您可以將所選狀態添加到父<table>中:

$('select#lotstatus').on('change', function() {
  $('table').attr('status', $(this).val());
});

然后,在CSS中,您需要為每種狀態設置所需的顏色:

table[status="Executed"] tr.Executed .statuscolor { color: red; }
table[status="Hold"] tr.Hold .statuscolor { color: green; }
table[status="Closed"] tr.Closed .statuscolor { color: yellow; }

也許您需要在表中添加一個“ id”,以避免與其他表發生沖突。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM