Я хочу изменить цвет текста в цикле таблицы на основе значения текста - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть зацикленное table, отображающее результаты выпадающего бланка (lottatus). Я хочу иметь возможность изменять color текста на основе value они selected в form.

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 () поля. Ничего не работает ... ПОМОГИТЕ!

1 Ответ

0 голосов
/ 10 сентября 2018

Сначала нужно добавить в каждую строку статус:

<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» в таблицу, чтобы избежать помех другим таблицам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...