Javascript 如何在jQuery中获取多个选择之间的最后一个选项值
我在多个选择框中获取最后选择的选项值时遇到问题。问题是,我有4个选择框,您可以在下图中看到。我想通过jquery获得最后一个选项值 我已经尝试过这个代码,但没有得到最后的精确值Javascript 如何在jQuery中获取多个选择之间的最后一个选项值,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我在多个选择框中获取最后选择的选项值时遇到问题。问题是,我有4个选择框,您可以在下图中看到。我想通过jquery获得最后一个选项值 我已经尝试过这个代码,但没有得到最后的精确值 $('.option').find('option:selected').attr("name") 这是我的表格 <form method="post" id="form-id"> <div class="form-group"> <label>Size</label&
$('.option').find('option:selected').attr("name")
这是我的表格
<form method="post" id="form-id">
<div class="form-group">
<label>Size</label>
<select class="form-control option" name="size" required>
<option value="">Choose option</option>
<option>8.2 * 11.6 in (A4)</option>
<option>11.7 x 16.5 in (A3)</option>
<option>16.5 x 23.4 in (A2)</option>
<option>23.4 x 33.1 in (A1)</option>
<option>33.1 x 46.8 in (A0)</option>
</select>
</div>
<div class="form-group">
<label>Paper</label>
<select class="form-control option" name="paper" required>
<option value="">Choose option</option>
<option>A4</option>
<option>A3</option>
<option>A2</option>
<option>A1</option>
<option>A0</option>
</select>
</div>
<div class="form-group">
<label>Appearance</label>
<select class="form-control option" name="appearance" required>
<option value="">Choose option</option>
<option>Black & White</option>
<option>Color</option>
<option>Color Division</option>
</select>
</div>
<div class="form-group">
<label>Large Format Binding</label>
<select class="form-control option" name="binding" required>
<option value="">Choose Option</option>
<option>No Binding</option>
<option>Blk Edge w/ Craft Paper (<span class="amount">$3.50</span>)</option>
<option>Blk Edge w/o Craft Paper (<span class="amount">$2.00</span>)</option>
<option>Full Bind and Label (<span class="amount">$4.00</span>)</option>
<option>Post Bind – Drilled Holes w/ Screw Post (<span class="amount">$5.00</span>)</option>
<option>Post Bind w/ Black Edge (<span class="amount">$6.00</span>)</option>
</select>
</div>
<button type="submit" class="btn btn-success cart" style="display:none"><i class="fas fa-shopping-cart"></i> Add to Cart</button>
这是我的剧本
<script>
$('.option').change(function () {
var check = $(this).val();
var name = $(this).attr("name");
if($('[name=paper]').val() == '' || $('[name=size]').val() == '' || $('[name=appearance]').val() == '' || $('[name=binding]').val() == '')
{
if(name == 'size')
{
if(check == '')
{
$('#size').html('<font color=red> Please select a size </font>');
$('.cart').hide();
}
$('#size').html(check);
}
else if(name == 'paper')
{
if(check == '')
{
$('#paper').html('<font color=red> Please select a paper </font>');
$('.cart').hide();
}
$('#paper').html(check);
}
else if(name == 'appearance')
{
if(check == '')
{
$('#appearance').html('<font color=red> Please select appearance </font>');
$('.cart').hide();
}
$('#appearance').html(check);
}
else if(name == 'binding')
{
if(check == '')
{
$('#binding').html('<font color=red> Please select a binding </font>');
$('.cart').hide();
}
$('#binding').html(check);
}
}
else
{
console.log($('.option').val());
$('.cart').show();
return false;
}
});
</script>
您没有获取select标记的值,请使用.val获取当前选定值 而不是这个
$('.option').find('option:selected').attr("name")
换成这个
$('.option').val()
我想通过jquery获得最后一个选项值
这是最后一次用户选择,而不是最后一次进行选择。。。
根据评论编辑答案。
所以我假设您只是希望$this.val被控制台记录
我修改了提交按钮显示/隐藏。。。但是我没有得到你想要显示一些额外提示的地方。。。所以我跳过了
我认为这是一个很好的开端。。。享受编码的乐趣
$'.option'。关于“更改”,函数{
$'.option'.eachfunction{//仅当所有4个下拉列表均不为空值时才显示提交按钮。
$'.cart'.show;
如果$this.val=={
$'.cart'。隐藏;
}
};
var this_change=$this.val;
如果这一变化=={
此_更改='用户选择了默认的选择选项';
}
console.log此更改;
};
大小
选择选项
8.2*11.6英寸A4
11.7 x 16.5英寸A3
16.5 x 23.4英寸A2
23.4 x 33.1英寸A1
33.1 x 46.8英寸A0
纸张
选择选项
A4
A3
A2
A1
A0
外貌
选择选项
黑白
颜色
分色
大格式绑定
选择选项
无约束力
黑色边缘带工艺纸和36;3.50
黑色边缘,无工艺纸和36;2
全绑定和标签&36;4
后绑定&8211;带螺杆和36的钻孔;5
带黑色边缘和36的后装订;6
将此问题中您不理解的内容添加到CartCart@Davidthomas清除您的问题-您有4个选择框。你希望得到。。。从第四个选项中选择的选项?您想在什么时候得到它-当它被选中时?或者当四个select控件的任何值发生更改时?或者…?$'选项“.find”选项“option:selected”将永远不会返回结果。一个不能是另一个选项的子选项,这是find所查找的。每次更改值时,我都一无所获。是否尝试在选项中添加值?编辑您的帖子并添加代码如何,这样我可以更清楚地看到问题,直到得到相同的问题我已经添加了代码请帮助我我遇到了这个问题$'.option'。val您尝试过这个吗?它得到的是期权的价值。使用console.log或alert可以正确调试代码。如果我在选择框中选择所有值,它将返回上一个值,但如果我下次更改该值,它将不会返回该选择值。它始终返回旧值。是否希望用户更改最后一个值,而不考虑表单中的顺序?如果是这样,那就不同了。。。更简单。是的,每次我需要选择框中的最后一个选择值时,我都会编辑我的答案。。。下次请说得更具体些,你会很快得到答案的。谢谢你的支持