我想根据所选的下拉列表更改提交按钮ID而不提交。如果我选择了Live Bookmark,提交按钮的ID应该更改为A1而不提交。我怎么能这样做。可以有人建议。下面是我的代码< / p>
<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>
答案 0 :(得分:2)
您可以在选择下拉列表中收听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>
答案 1 :(得分:2)
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>
答案 2 :(得分:1)
如果想要通过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"));
})
})
这是工作example
答案 3 :(得分:0)
纯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>
&#13;