尝试以编程方式设置选择选项值不起作用

时间:2015-05-31 19:08:46

标签: jquery html

我正在尝试以编程方式将选择列表选项值设置为已选中。

<script>
                if(typeof localStorage.me !== "undefined") {
                    console.log("test");
                    $("#business").val(localStorage.me);
                }
                if(typeof localStorage.partner !== "undefined") {
                    $("#partner-business").val(localStorage.partner);
                }

                $("#page-main").on("change", "#business", function(event) {
                    localStorage.setItem("me", $("#business").val());
                });
                $("#page-main").on("change", "#partner-business", function(event) {
                    localStorage.setItem("partner", $("#partner-business").val());
                });
            </script>
            <div class="content" data-role="content">
                <div data-role="fieldcontain">
                    <h3 class="select center-h3">I am a:</h3>
                    <select name="business" id="business">
                        <option value="technical">Technical</option>
                        <option value="sales">Sales</option>
                    </select>
                </div>
                <div data-role="fieldcontain">
                    <h3 class="select center-h3">My partner is a:</h3>
                    <select name="partner-business" id="partner-business">
                        <option value="technical">Technical</option>
                        <option value="sales">Sales</option>
                    </select>
                </div>
    </div>

我正在尝试根据选项值设置它,但这似乎不起作用。

如何通过选项值而不是选项标签内的名称来设置它?

2 个答案:

答案 0 :(得分:1)

您需要在document-ready处理程序中包装代码。除此之外你编码工作。

  

指定在DOM完全加载时要执行的函数。

$(document).ready(function () {
    //Your code
});

DEMO

答案 1 :(得分:0)

以下是使用$(this)而不是查询dom来执行相同操作的简化方法,以供将来参考。

if(localStorage.me) $("#business").val(localStorage.me);
if(localStorage.partner) $("#partner-business").val(localStorage.partner);

$("#business").on("input", function() {
    localStorage.me = $(this).val();
});
$("#partner-business").on("input", function() {
    localStorage.partner = $(this).val();
});