在具有相同id的多个选择标签中捕获所选择的选择标签项

时间:2014-12-23 07:03:05

标签: javascript jquery python html django

我正在使用django框架,其中,我通过渲染向python后端发送一个列表以响应html页面,因此根据列表中的条件,正在创建多个选择标记。我的问题是,我想在点击那些下拉菜单前面的保存按钮时获取或捕获该下拉列表的选定值,但每当我选择值时,我将获得第一个下拉列表的值。 下面给出的是我的代码。

    <select style="padding:5px; width:102%;"  onchange="savestate({{result.0}});" 
    class="select11" id="status8" name="status8" title="Choose Status" >

    <option id="status8"  name="status8" >{{result.1}}</option>


    {% if result.1 == "HR_Interview" %}

    <option id="status8"  name="status8">COL</option>


    {% elif result.1 == "Internal_Interview" %}

    <option id="status8"  name="status8">HR_Interview</option>
    <option id="status8"  name="status8">COL</option>


    {% elif result.1 == "COL" %}

    <option id="status8"  name="status8">CS</option>


    {% elif result.1 == "CI" %}

    <option id="status8"  name="status8">CIS</option>


    {% elif result.1 == "CIS" %}

    <option id="status8"  name="status8">Joining</option>



    {% elif result.1 == "CS" %}

    <option id="status8"  name="status8">CI</option>


    {% elif result.1 == "Line_up" %}

    <option id="status8"  name="status8">Internal_Interview</option>
    <option id="status8"  name="status8">HR_Interview</option>
    <option id="status8"  name="status8">COL</option>

    {% else %}   



    {% endif %}

    </select> 
    <input class="css_save1" type="submit" name="save" value="Save" onclick = "function9({{result.1}});"> 
    <input type="hidden" id="name" name="name" value={{name}}>

<script>
    function function9(resume1)
    {
    console.log("input_string:::",resume1);
alert("Hello! I am an alert box!!",resume1);
         <!-- var opt1=document.getElementById("status8").value();  -->
        <!-- console.log("input_string:::",opt1); -->
            <!-- var e = document.getElementById("status8"); -->

            <!-- var input_string = e.options[e.selectedIndex].text;  -->

         if (resume1 == "COL") 
        <!--if (var input_string.equals("COL"))-->

                {
                var r=confirm("Are you sure?");
                    if (r == true) 
                    {
                    document.getElementById("listOfSearch{{result.0}}").submit();
                    } 
                    else 
                    {
                    document.getElementById("listOfSearch{{result.0}}").submit();
                    }
                }
        else
                {
                document.getElementById("listOfSearch{{result.0}}").submit();
                }
        return response;
     }
</script>

所以创建的select标签位于for循环中 请帮助我这个

2 个答案:

答案 0 :(得分:0)

您需要阅读有关表单,选择和提交的更多信息

  • ID必须是唯一的!选项不需要ID也不需要NAME。
  • 永远不要在提交按钮的点击事件中提交表单。而是使用表单的提交事件并返回true以允许提交,false返回以阻止提交

从选项中删除所有ID和NAME后尝试此操作

window.onload=function() {
  document.getElementById("listOfSearch{{result.0}}").onsubmit=function() {
    var sel = document.getElementById("status8");
    var val = sel.options[sel.selectedIndex].text; 
    if (val=="COL") return confirm("Are you sure?"); // submit only if confirmed
    return true; // submit anyway if val is not COL
  }
}

答案 1 :(得分:0)

    功能函数9(x)     {     var id = $(x).closest(“tr”)。find('td:eq(1)')。find(“#status8 option:selected”)。text();     console.log(“fetched value&gt;&gt;&gt;”,id); }