Framework7智能选择显示所选项目

时间:2017-01-09 05:28:30

标签: html html-framework-7

我有这个小聪明的选择:

<div class="list-block">
    <ul>
        <li>
            <a href="#" class="item-link smart-select" data-back-on-select="true" data-open-in="popup">
                <select name="projects" id="projects">
                  <option value="0" selected>Please choose...</option>
                  <option value="1" >House build</option>
                </select>
                <div class="item-content">
                    <div class="item-inner">
                        <div class="item-title">Aufträge</div>
                    </div>
                </div>
            </a>
        </li>
    </ul>
</div>

当用户选择一个项目时,我创建了一个cookie并在其中写入了值。重新加载或关闭我在cookie中读取的页面后,选择该项目。这样可行。但是,我总是“请选择”条目而不是所选项目。但是,当我点击列表时,选择正确的项目,然后关闭我再次看到的列表请选择。 这就是我选择值的方法:

$$("#projects").val(getCookie("timerTasks"));

3 个答案:

答案 0 :(得分:2)

@tinyCoder几乎是正确的,除非您需要更新.item-after,而不是.item-title.item-title是智能选择的“标签”,.item-after显示所选值。

此外,由于.html()将呈现HTML,而我们只需要文本,因此我认为使用.text()更合适。所以,我的单行看起来像这样:

$$("#projects").val(getCookie("timerTasks")).parent().find('.item-after').text($$("#projects").find("option:selected").text());

Framework7 v1.6.5(2017年9月。)

答案 1 :(得分:1)

好吧,我之前碰到过这个。从cookie中选择值后,您必须更新item-title类:

详情:

// Select your value
$$("#projects").val(getCookie("timerTasks"));

// Selected value text
var selected_text = $$("#projects").find("option:selected").text();

// Change item-title
$$("#projects").parent().find('.item-title').html(selected_text);

一行:

$$("#projects").val(getCookie("timerTasks")).parent().find('.item-title').html($$("#projects").find("option:selected").text());

你可以在那里看到this is a common issue,我想知道它为什么还没有修复。

答案 2 :(得分:1)

对于此时需要此答案的人,find("option:selected")不再为此目的而工作。请改用find("option:checked")

最终代码为

$$("#projects").val(getCookie("timerTasks")).parent().find('.item-title').html($$("#projects").find("option:checked").text());