[英]How can i change submit button id based on selected dropdown list?
我想根據選定的下拉列表更改提交按鈕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>
您可以在選擇下拉列表中偵聽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>
如果要通過jquery事件執行此操作,請向您的提交按鈕添加一個類,並刪除onchange="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"));
})
})
這是工作示例
純JavaScript的替代方法:
將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>
然后按如下所示修改您的<select>
,以在選擇更改時使用新的ID調用該函數。
<select id="one" name="sub" class="form-control" onchange="myFunction(this.value);">
整個代碼:
<!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.