在Django中使用数据库值填充下拉列表后,如何为该下拉列表指定特定值? - javascript

我在Views.py中有一个查询,该查询用于填充下拉列表。它工作得很好,除了我需要它显示一个特定的值,并将其存储在与用户选择相对应的变量中。

假设我们有一个下拉列表,它使用以下查询从数据库(“世界”)填充:

regions = world.objects.values_list("regions").distinct()

因此,这用地区名称填充了我的下拉列表。如果用户以前选择了“欧洲”(存储在r2变量中),我该如何修改此查询,以便在填写下拉列表后选择“欧洲”?

编辑:

html代码:

<select id="regions" name="r2" onclick="GetSelectedText()" onChange="form.submit();">
    {% for item in regions %}
    <option val="{{ item.name_reg }}"> {{ item }} </option>    
    {% endfor %}
</select>

<script type="text/javascript">
    function GetSelectedText(){
      var r = document.getElementById("regions");
      var result_r = r.options[r.selectedIndex].text;

      document.getElementById("result_r").innerHTML = result_r;
      }
  </script>

Views.py:

def MyView(request):
    result_r = request.POST.get('r2')
    print(result_r)
    if request.method == 'POST' and result_r != None:
        query_results = world.objects.all()
        regions = world.objects.values_list("name_reg").distinct()


        query_results_dict = {
        'query_results': query_results,
        'regions': regions,
        }

        return render(request,'home.html', query_results_dict)

参考方案

如果将名为contextr2变量(假定与item.name_reg相同的数据类型)传递给模板,则可以使用ifequal语句选择选项:

<select name="regions" id="regions">
    {% for item in regions_list %}
    <option val="{{ item.name_reg }}" {% ifequal item.name_reg r2 %}selected{% endif %}> {{ item }} </option>    
    {% endfor %}
</select>

javascript popupwindow之后的行如何工作? - javascript

好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…

Javascript-Urls的奇怪字符串比较行为 - javascript

最近,在编写我无法理解的javascript时遇到了字符串比较的问题。我从完全相同的网址创建了两个字符串,当我比较它们时返回false,但是在重新分配相同的字符串后,比较返回true。这是我的示例:var str1 = "http://google.com/"; var str2 = "http://google.com‏/&#…

JavaScript中的字符串评估函数 - javascript

            JavaScript中是否有任何内置函数,例如Python中的eval内置函数?注意:eval函数将方程式作为字符串并返回结果。例如,假设变量x为2,则eval("2x+5")返回9。 参考方案 是的,JavaScript中也有eval函数。此外,该声明应有效用于评估,即eval("2*x+5"…

Javascript语言中是否存在python式占位符? - javascript

我有Python的经验,但是对Java语言来说还比较陌生。我知道在Python中,如果我想将一个变量替换为一个字符串(例如),我可以这样做:s = "%s:%s" % (mins, secs)但是,我找不到在Javascript中替换值的等效方法。是否存在类似的问题,还是我会以错误的方式处理? 参考方案 在ES5中不可用,但在ES6中可用…

Python Selenium:单击下拉菜单中的选项时可以更改值吗? - javascript

我正在使用python硒进行一些搜索。在我查询的一个网页上,搜索对话框允许我通过下拉菜单指定是否要搜索所有部分或特定部分。要选择哪个部分,该站点在弹出窗口中有一些单独的对话框,我可以单击一个部分,然后在内部为下拉菜单中的“此部分”选项分配选定部分的值。这是检查选择器时的外观: <select ...> <option id="se…