2
私は2つのドロップダウンリストを作成しました。最初の値で値が選択されると、2番目の値でサブ値を選択できます。次に、パラメータと特定の値を持つ表を表示します。jQuery - 値とカラーテキストの比較
パラメータの値が他の指定値(ここでは100など)より大きい場合、テキストの色を変更したいと考えています。私は.change
とparseInt
(基数付き)で試してみましたが、何か間違っています。誰もそれを行う方法を知っていますか?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- First list -->
<div class="form-group">
<label for="first">First list</label>
<select id="first" class="form-control" role="listbox" onchange="filterList();">
<option value="Select level 1" selected="selected">Select...</option>
<option value="Option 1">Option 1</option>
<option value="Option 2">Option 2</option>
</select>
</div>
<!-- Second list -->
<div class="form-group">
<label for="second">Second list</label>
<select id="second" class="form-control" role="listbox" onchange="parametres();">
<option value="Select level 2" data-group="Select" selected="selected">Select...</option>
<option value="Option 1 - 1" data-group="Option 1">First list 1 - Element 1</option>
<option value="Option 1 - 2" data-group="Option 1">First list 1 - Element 2</option>
<option value="Option 2 - 1" data-group="Option 2">First list 2 - Element 1</option>
<option value="Option 2 - 2" data-group="Option 2">First list 2 - Element 2</option>
</select>
</div>
<br>
<!-- Parameter 1 -->
<div class="container" id="table_param" style="visibility: hidden;">
<table class="table table-striped">
<thead>
\t <tr>
<th>Parametre</th>
\t \t <th>Value</th>
\t \t <th>Measurement unit</th>
\t \t </tr>
</thead>
\t <tbody>
\t <tr>
<td>Param1</td>
\t <td> \t \t \t \t \t
<div id="param1" style="visibility: hidden;"> \t \t \t \t \t \t
<value data-param="First list 1 - Element 1">130</value>
<value data-param="First list 1 - Element 2">91</value>
<value data-param="First list 2 - Element 1">114</value>
<value data-param="First list 2 - Element 2">63</value>
</div>
</td>
<td><i><h6>g/100mg</h6></i></td>
</tr>
</tbody>
</table>
</div>
<!-- Containers -->
<span id="option-container" style="visibility: hidden; position:absolute;"></span>
<span id="option-container_param1" style="visibility: hidden; position:absolute;"></span>
<script>
// Filter list
function filterList(){
var first = $("#first").find('option:selected').text(); // stores first list selected elements
$("#option-container").children().appendTo("#second"); // moves <option> contained in #option-container back to their <select>
var toMove = $("#second").children("[data-group!='"+first+"']"); // selects elements to move out
toMove.appendTo("#option-container"); // moves elements in #option-container
$("#second").removeAttr("disabled"); // enables select
};
// Parameter 1
function parametres(){
var second = $("#second").find('option:selected').text();
$("#option-container_param1").children().appendTo("#param1");
var toMove_param1 = $("#param1").children("[data-param!='"+second+"']");
toMove_param1.appendTo("#option-container_param1");
$("#param1").removeAttr("disabled");
// Color text according to the value
$("#param1").change(function(){
if(parseFloat($("#param01").val(),10) > 100){
return $("#param01").css('color', 'red');
}
})
document.getElementById("table_param").style.visibility="visible";
document.getElementById("param1").style.visibility="visible";
};
</script>
正確に「」タグとは何ですか?あなたは何をしようとしているのですか?どのように*値を変更しますか? –
Dekel
この値は 'div'' id'と' data-group'に応じてテーブルに表示されます。要素を選択するためのドロップダウンリストを作成する前に、各要素には値を持つパラメータがあります。それは[this](http://cocktaildata.fr/GIS/PY/ex/)のように見えます – GeoGyro
問題は ''はHTMLタグではないので、あなたが何をしようとしているのか分かりません。おそらく '