简体   繁体   English

如何根据选定的下拉列表更改提交按钮ID?

[英]How can i change submit button id based on selected dropdown list?

I want to change submit button id based on selected dropdown without submit.If i selected Live Bookmark ,the id of submit button should change to A1 without submit.How can i do that.Can anybody suggest.Below is my code 我想根据选定的下拉列表更改提交按钮ID,而不提交。如果我选​​择了Live Bookmark,则提交按钮的ID应该更改为A1而无需提交。我该怎么做。有人可以建议。以下是我的代码

<form class="form-horizontal" role="form" action="" method="post" enctype="multipart/form-data">
           <div class="row">
              <div class="col-md-12">
                 <div class="form-group">
                    <div class="col-md-9">
                       <select id="one" name="sub" class="form-control" onchange="myFunction()">
                          <option value="0">Select</option>
                          <option value="H1" id="A1" >Live Bookmark</option>
                          <option value="H2" id="A2">My Yahoo</option>
                          <option value="H3" id="A3">My Free Dictionary</option>
                          <option value="H4" id="A4">My Daily Rotation</option>
                          <option value="H5" id="A5">My Podnova</option>
                       </select>
                    </div>
                 </div>

                 <div class="form-group">
                    <div class="col-md-9">
                       <button type="submit" name="submit" id="$id">Subscribe Now</button>
                    </div>
                 </div>

              </div>
           </div>
        </form>

You can listen for a change event in select dropdown and assign the id attribute dynamically as shown in the code snippet below: 您可以在选择下拉列表中侦听change事件,并动态分配id属性,如下面的代码片段所示:

 $('document').ready(function(){ $('#one').on('change', function() { $('button[type=submit]').attr('id', $(this).find(":selected").attr('id')); console.log('Button Id is '+ $(this).find(":selected").attr('id')); }) }) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script> <form class="form-horizontal" role="form" action="" method="post" enctype="multipart/form-data"> <div class="row"> <div class="col-md-12"> <div class="form-group"> <div class="col-md-9"> <select id="one" name="sub" class="form-control"> <option value="0">Select</option> <option value="H1" id="A1" >Live Bookmark</option> <option value="H2" id="A2">My Yahoo</option> <option value="H3" id="A3">My Free Dictionary</option> <option value="H4" id="A4">My Daily Rotation</option> <option value="H5" id="A5">My Podnova</option> </select> </div> </div> <div class="form-group"> <div class="col-md-9"> <button type="submit" name="submit" id="$id">Subscribe Now</button> </div> </div> </div> </div> </form> 

function myFunction(id){
  var thisElem = $("#"+id);
  var selectedValue = $.trim(thisElem.val());
  //console.log(selectedValue);
   $("button[type=submit]").attr("id", selectedValue);
}

<select id="one" name="sub" class="form-control" onchange="myFunction(this.id);">
  <option value="0">Select</option>
  <option value="H1" id="A1" >Live Bookmark</option>
  <option value="H2" id="A2">My Yahoo</option>
  <option value="H3" id="A3">My Free Dictionary</option>
  <option value="H4" id="A4">My Daily Rotation</option>
  <option value="H5" id="A5">My Podnova</option>
  </select>

<button type="submit" name="submit" id="$id">Subscribe Now</button>

Add a class to your submit button and remove the onchange="myFunction()" if want to do that by jquery events. 如果要通过jquery事件执行此操作,请向您的提交按钮添加一个类,并删除onchange="myFunction()" otherwise put that code in myFunction . 否则将代码放在myFunction

<button type="submit" name="submit" class="test" id="">Subscribe Now</button>
$(document).ready(function () {
    $("#one").change(function () {
        $(".test").attr('id', $(this).children(":selected").attr("id"));
    })
})

Here is the working example 这是工作示例

Alternative way with pure javascript: 纯JavaScript的替代方法:

Place the JavaScript function to change id in the <head> of the HTML page. 将JavaScript函数放置在HTML页面的<head>中以更改id。

<head>
<script>
    function myFunction(new_id) {
        if (new_id == 0) {
            return // this is so that if "select" is selected then id won't change
        }
        // change id
        document.getElementsByName("submit")[0].id = new_id;
    }
</script>
</head>

Then modify your <select> as follows to call the function with the new id when selection changes. 然后按如下所示修改您的<select> ,以在选择更改时使用新的ID调用该函数。

<select id="one" name="sub" class="form-control" onchange="myFunction(this.value);">

The whole code: 整个代码:

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title> new document </title> <meta name="description" content="" /> <script> function myFunction(new_id) { if (new_id == 0) { return; } document.getElementsByName("submit")[0].id = new_id; // test new id // remove this after testing alert(document.getElementById(new_id).id); } </script> </head> <body> <form class="form-horizontal" role="form" action="" method="post" enctype="multipart/form-data"> <div class="row"> <div class="col-md-12"> <div class="form-group"> <div class="col-md-9"> <select id="one" name="sub" class="form-control" onchange="myFunction(this.value)"> <option value="0">Select</option> <option value="H1" id="A1" >Live Bookmark</option> <option value="H2" id="A2">My Yahoo</option> <option value="H3" id="A3">My Free Dictionary</option> <option value="H4" id="A4">My Daily Rotation</option> <option value="H5" id="A5">My Podnova</option> </select> </div> </div> <div class="form-group"> <div class="col-md-9"> <button type="submit" name="submit" id="">Subscribe Now</button> </div> </div> </div> </div> </form> </body> </html> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 根据选定的下拉列表更改提交按钮名称 - change submit button name based on selected dropdown list 单击按钮提交后,如何将下拉列表中的选定值传递给url查询字符串? - How can I pass the selected values from the dropdown list to the url query string when button submit is clicked? 如何在按钮中显示下拉列表的选定元素? - How can I display the selected element of a dropdown list in a button? 如何更改表格值基于所选下拉值的操作 - How can i change Form value Action based on dropdown value selected 我有一个下拉列表,我希望它显示选定的值。 提交按钮 - I have a dropdown list and i want it to show the selected value on. the submit button 如何根据下拉列表中当前选择的选项显示特定数据? - how can i show specific data based on currently selected option in a dropdown list? 如何在没有任何提交按钮的情况下动态显示基于下拉菜单中所选年份的记录 - How to display records based on selected year from dropdown dynamically without any submit button 如何根据用于提交的表单的ID更改用户消息? - How can I change a user message based on the id of a form used for submit? 如何更改使用opt组的下拉列表的选定值? - How can I change the selected value of a dropdown list that uses opt groups? 如何根据选定的下拉项目生成项目列表? - How do I generate a list of items based on selected dropdown item?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM