このコードを使用してチェックボックスのリストを表示しています:
<div class="col m12 s12">
<input id="search" type="text" autocomplete="off" placeholder="Compétence..." oninput="update();">
{% for keyword in keywords %}
<div class="col m4 s12">
<p class="range-field">
<input type="checkbox" id="{{loop.index}}" name="{{keyword.title}}" class="filled-in"/>
<label for="{{loop.index}}">{{keyword.title}}</label>
<input type="range" min="0" max="100"/>
</p>
</div>
{% endfor %}
</div>
検索を開始すると、テキストに一致する要素のみが表示され、他の要素は非表示になります
function update()
{
var res = $.trim($("#search").val());
if(res === "")
{
$("label").parent().show();
}
else
{
contains_selector = "label:isLike("+res+")"
$(contains_selector).parent().show();
not_contains_selector = "label:not(:isLike("+res+"))"
$(not_contains_selector).parent().hide();
}
}
問題は、要素が非表示になっている場合でも、ここに示すようにスペースをとることです。
remove()と同じように、非表示にした後でスペースを完全に解放するにはどうすればよいか知りたいです。
可視性を非表示に変更しようとしましたが、それでも機能しません
フロントエンドにマテリアライズを使用しています
これは、ラベル(<p class="range-field">
)の親を非表示にしようとしているが、非表示にする必要があるためです。<div class="col m4 s12">
これを試して:
$(contains_selector).closest(".col").show();
...
$(contains_selector).closest(".col").hide();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加