Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery中获取多个选择之间的最后一个选项值_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript 如何在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&

我在多个选择框中获取最后选择的选项值时遇到问题。问题是,我有4个选择框,您可以在下图中看到。我想通过jquery获得最后一个选项值

我已经尝试过这个代码,但没有得到最后的精确值

$('.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">&#36;3.50</span>)</option>
        <option>Blk Edge w/o Craft Paper (<span class="amount">&#36;2.00</span>)</option>
        <option>Full Bind and Label (<span class="amount">&#36;4.00</span>)</option>
        <option>Post Bind &#8211; Drilled Holes w/ Screw Post (<span class="amount">&#36;5.00</span>)</option>
        <option>Post Bind w/ Black Edge (<span class="amount">&#36;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可以正确调试代码。如果我在选择框中选择所有值,它将返回上一个值,但如果我下次更改该值,它将不会返回该选择值。它始终返回旧值。是否希望用户更改最后一个值,而不考虑表单中的顺序?如果是这样,那就不同了。。。更简单。是的,每次我需要选择框中的最后一个选择值时,我都会编辑我的答案。。。下次请说得更具体些,你会很快得到答案的。谢谢你的支持