如何获取输入标签值?
我在从输入中选择正确的值时遇到问题,目前我只获得第一个值= text_1,而且我不知道为什么我不选择其他值...
这是在面板中选择值的原型,用户尝试在其中使用鼠标来选择最感兴趣的面板。
我只希望按钮后单击一个值
有人可以帮我吗?
$(document).ready(function(){
$("#openButton").click(function(){
alert("Value: " + $("div > :submit").val());
});
});
.item {
flex: 1;
text-align: center;
font-size: 1.5em;
}
.flex {
flex: 0;
}
.imagem-chave{
padding-top: 100px;
margin-bottom: 300px;
display:flex;
justify-content: space-evenly;
}
.container-grande_img{
border-top: 2px solid #0000FF;
border-bottom: 2px solid #0000FF;
border-left: 2px solid #0000FF;
border-right: 2px solid #0000FF;
margin-top: 20px;
padding-bottom: 5px;
width: 30%;
height: 50%;
display: inline-block;
justify-content: space-around;
flex-wrap: wrap;
}
.botao{
margin-top:-30px;
}
.legend {
width: 60px;
font-size:14px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color:#00004d;
}
.label {
display: inline;
padding: .2em .6em .3em;
font-size: 50%;
font-weight: 700;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: .25em;
}
div.inputbutton {
position: relative;
display: inline-block;
}
div.inputbutton input {
background: url('/img/livre.png') no-repeat;
cursor: pointer;
width: 100px;
height: 130px;
border: none;
background-size: 100%;
}
span.text {
position: absolute;
bottom: 10%;
left: 5px;
width: 100%;
font-size: 15px;
color: white;
}
#myNavbar{
font-size: 15px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item flex imagem-chave">
<div class="inputbutton">
<span class="text">TEXT_1</span>
<input type="submit" class="btTxt submit" value="TEXT_1" id="TEXT_1">
</div>
<div class="inputbutton">
<span class="text">TEXT_2</span>
<input type="submit" class="btTxt submit" value="TEXT_2" id="TEXT_2">
</div>
<div class="inputbutton">
<span class="text">TEXT_3</span>
<input type="submit" class="btTxt submit" value="TEXT_3" id="TEXT_3">
</div>
<div class="inputbutton">
<span class="text">TEXT_4</span>
<input type="submit" class="btTxt submit" value="TEXT_4" id="TEXT_4">
</div>
</div>
<div class="item flex botao ">
<button type="Liberar" id="openButton" class="btn btn-primary" >open key</button>
</div>
答案 0 :(得分:0)
我误解了这个问题。如果要使用多个按钮选择一个选项,则应使用单选按钮:
<input type="radio" name="some_option" value="TEXT_1" id="option_TEXT_1" />
<label for="option_TEXT_1">TEXT_1</label>
<input type="radio" name="some_option" value="TEXT_2" id="option_TEXT_2" />
<label for="option_TEXT_2">TEXT_2</label>
<input type="radio" name="some_option" value="TEXT_3" id="option_TEXT_3" />
<label for="option_TEXT_3">TEXT_3</label>
<input type="radio" name="some_option" value="TEXT_4" id="option_TEXT_4" />
<label for="option_TEXT_4">TEXT_4</label>
<button type="Liberar" id="openButton" class="btn btn-primary" >open key</button>
在JS中:
$("#openButton").click(function () {
alert(document.querySelector(
'input[name="some_option"]:checked').value);
}
如果您真的想使用按钮,<input type=submit>
元素并不是最佳的工具,因为用户可能在同一页面上单击了许多按钮:
<button class="some_option" id="option_TEXT_1">TEXT_1</button>
<button class="some_option" id="option_TEXT_2">TEXT_2</button>
<button class="some_option" id="option_TEXT_3">TEXT_3</button>
<button class="some_option" id="option_TEXT_4">TEXT_4</button>
<button type="Liberar" id="openButton" class="btn btn-primary" >open key</button>
在JS中:
var option = "";
$("button.some_option").click(function () {
option = $(this).attr("id");
}
$("#openButton").click(function () {
alert(option);
}
原始答案,我以为您要输入文本:
根据the documentation for val()
,它仅从第一个元素获取值(如果您在一组多个元素上调用它)。
考虑将each()
与回调一起使用。
答案 1 :(得分:0)
$(document).ready(function() {
$("#openButton").click(function() {
$('input[type="submit"]').each(function() {
alert("Value: " + $(this).val());
});
});
});
body,
h1,
h2,
h5,
p,
ul,
li,
a {
margin: 0px;
padding: 0px;
}
body {
font-family: "Nunito", Helvetica, Arial;
color: #222222;
}
ul {
list-style: none;
}
a {
text-decoration: none;
}
img {
display: block;
max-width: 100%;
}
* {
box-sizing: border-box;
}
.menu-bg {
background: #00004d;
}
.menu {
max-width: 2000px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding-top: 10px;
align-items: center;
margin-right: 250px
}
.menu a {
color: #FFFFFF;
font-size: 15px;
}
.menu-logo a {
font-size: 3em;
font-weight: bold;
margin: 0 10px;
float: left;
}
.menu-logo img {
padding-left: 0px;
width: 159px;
height: 24px;
}
.column {
min-height: 200px;
flex-direction: column;
}
.flex-start {
justify-content: flex-start;
}
h1 {
text-align: center;
margin: 50px 0 0 0;
font-size: 1.25em;
font-weight: normal;
justify-content: center;
width: 100%;
}
.center {
justify-content: center;
}
.container-grande {
max-width: 1000px;
max-height: 600px;
margin: 40px auto;
display: flex;
border: 0px solid #ccc;
padding: 00px 00px 500px 00px;
background: #F5F5F5;
}
.container-grande item {
max-width: 420px;
margin: 0 auto;
justify-content: center;
}
.container-grande h1 {
border-bottom: 0px solid #ccc;
text-align: left;
flex: 1 1 400px;
font-size: 1.25em;
}
.container-cor {
width: 97%;
border-bottom: 1px solid;
margin-left: 15px;
}
.item {
flex: 1;
text-align: center;
font-size: 1.5em;
}
.flex {
flex: 0;
}
.imagem-chave {
padding-top: 100px;
margin-bottom: 300px;
display: flex;
justify-content: space-evenly;
}
.container-grande_img {
border-top: 2px solid #0000FF;
border-bottom: 2px solid #0000FF;
border-left: 2px solid #0000FF;
border-right: 2px solid #0000FF;
margin-top: 20px;
padding-bottom: 5px;
width: 30%;
height: 50%;
display: inline-block;
justify-content: space-around;
flex-wrap: wrap;
}
.botao {
margin-top: -30px;
}
.legend {
width: 60px;
font-size: 14px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: #00004d;
}
.label {
display: inline;
padding: .2em .6em .3em;
font-size: 50%;
font-weight: 700;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: .25em;
}
div.inputbutton {
position: relative;
display: inline-block;
}
div.inputbutton input {
background: url('/img/livre.png') no-repeat;
cursor: pointer;
width: 100px;
height: 130px;
border: none;
background-size: 100%;
}
span.text {
position: absolute;
bottom: 10%;
left: 5px;
width: 100%;
font-size: 15px;
color: white;
}
#myNavbar {
font-size: 15px;
}
.navbar-header .navbar-toggle {
background: white;
margin-right: -50px;
margin-bottom: -20px;
}
.navbar-header .navbar-toggle .icon-bar {
background: black;
}
.menu-nav ul li a:hover {
background: transparent;
color: grey;
}
.menu-nav ul li a:active {
background: transparent;
color: grey;
}
.navbar-default {
background-color: #00004d;
border-color: #00004d;
margin-right: 50px;
}
.navbar-default .navbar-brand {
color: #ecf0f1;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
color: #ecdbff;
}
.navbar-default .navbar-text {
color: #ecf0f1;
}
.navbar-default .navbar-nav>li>a {
color: #ecf0f1;
}
.navbar-default .navbar-nav>li>a:hover,
.navbar-default .navbar-nav>li>a:focus {
color: #ecdbff;
}
.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:hover,
.navbar-default .navbar-nav>.active>a:focus {
color: #ecdbff;
background-color: #00004d;
}
.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:hover,
.navbar-default .navbar-nav>.open>a:focus {
color: #ecdbff;
background-color: #00004d;
}
.navbar-default .navbar-toggle {
border-color: #00004d;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
background-color: #00004d;
}
.navbar-default .navbar-toggle .icon-bar {
background-color: #ecf0f1;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
border-color: #ecf0f1;
}
.navbar-default .navbar-link {
color: #ecf0f1;
}
.navbar-default .navbar-link:hover {
color: #ecdbff;
}
.tam {
height: 50%;
width: 1200px;
background-color: powderblue;
margin: auto;
}
.tam_Cadastro {
width: 1200px;
background-color: powderblue;
margin: auto;
}
.gerarPDF {
text-align: center;
margin-bottom: 15px;
margin-top: 15px;
}
@media (max-width: 825px) {
.navbar-header {
float: none;
}
.navbar-left,
.navbar-right {
float: none !important;
}
.navbar-toggle {
display: block;
}
.navbar-collapse {
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.navbar-fixed-top {
top: 0;
border-width: 0 0 1px;
}
.navbar-collapse.collapse {
display: none!important;
}
.navbar-nav {
float: none!important;
margin-top: 7.5px;
}
.navbar-nav>li {
float: none;
display: block;
}
.navbar-nav>li>a {
padding-top: 10px;
padding-bottom: 10px;
}
.collapse.in {
display: block !important;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item flex imagem-chave">
<div class="inputbutton">
<span class="text">Text_1</span>
<input type="submit" class="btTxt submit" value="Text_1" id="Text_1">
</div>
<div class="inputbutton">
<span class="text">Text_2</span>
<input type="submit" class="btTxt submit" value="Text_2" id="Text_2">
</div>
<div class="inputbutton">
<span class="text">Text_3</span>
<input type="submit" class="btTxt submit" value="Text_3" id="Text_3">
</div>
<div class="inputbutton">
<span class="text">Text_4</span>
<input type="submit" class="btTxt submit" value="Text_4" id="Text_4">
</div>
</div>
<div class="item flex botao ">
<button type="Liberar" id="openButton" class="btn btn-primary">Open Key</button>
</div>
答案 2 :(得分:0)
在您的js中尝试一下:
$(document).ready(function(){
var lastClicked = null;
$('.btTxt').click(function(event) {
lastClicked = event.target
});
$("#openButton").click(function(){
alert("Value: " + $(lastClicked).val());
});
});