javascript - 切换按钮和选择框

标签 javascript jquery drop-down-menu

<script type="text/javascript">
$(document).ready(function() {
    $('#BUTTON_1').on('click', function() {

    });
});
</script>

...

<td>
    <select id="selectBox" name="selectBox">
    <option value="R01"> REQUESTED </option> 
    <option value="R02"> NOT FINISHED </option> 
    <option value="R03"> FINISHED </option> 
</td>       

<td>
<a href="#"  class="btnA" id= "BUTTON_1" value="N">UNCHECKED</a> 
<a href="#"  class="btnA" id= "BUTTON_2" value="N">UNCHECKED</a> 
<a href="#"  class="btnA" id= "BUTTON_3" value="N">UNCHECKED</a> 
</td>

...

<div>
<a id="fnModEncProc" class="btnB"><strong>SAVE YOUR WORK</strong></a>
</div>  

因此,当我第一次打开页面时,我有一个选择框、3 个按钮和“保存”按钮。

选择框有 3 个选项(默认为请求)

  1. 当我点击每个“UNCHECKED”按钮时,我希望它切换到“CHEKCED”。 (与按钮_2,3相同)
  2. 当只有一两个按钮被检查时 -> 然后在选择框中选择完成 -> 然后单击“保存您的工作”

然后应该弹出警告框,其中包含“必须单击所有三个按钮才能完成”文本。

++ 简而言之,当选中一两个时,单击保存按钮时,选择框选项应选择为未完成

但是,当所有内容均已检查时,单击保存按钮时,选择框选项应选择为已完成

有人可以帮我编码吗?

最佳答案

fiddle Demo

$('.btnA').click(function (e) {
    e.preventDefault();
    var txt = $(this).text();
    txt = (txt == 'UNCHECKED') ? 'CHECKED' : 'UNCHECKED'; //toggle text
    $(this).text(txt);
});
$('#selectBox').change(function () {
    if (this.value === 'R03') {
        var len = $('.btnA').filter(function () {
            return $(this).text() === 'CHECKED'
        }).length; //get length of button with text CHECKED
        if (len !== 3) {
            $(this).val('R01'); //set value first to drop-down list
            alert('All three buttons must be clicked in order to be FINISHED');
        }
    }
});
$('#fnModEncProc').click(function () {
    $('#selectBox').change();
    var len = $('.btnA').filter(function () {
        return $(this).text() === 'CHECKED'
    }).length; //get length of button with text CHECKED
    if (len === 3) $('#selectBox').val('R03'); //if length = 3 select FINISHED in drop-down list
});

<小时/> Updated fiddle Demo

$('.btnA').click(function (e) {
    e.preventDefault();
    var txt = $(this).text(),
        val;
    if (txt === 'UNCHECKED') {
        txt = 'CHECKED';
        val = 'Y';

    } else {
        txt = 'UNCHECKED';
        val = 'N';
    }
    $(this).text(txt).prop('value', val); //set value to val
});

关于javascript - 切换按钮和选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20778396/

相关文章:

javascript - 防止默认 keyCode 38 和 40

javascript - 如何使用 chrome.storage.sync.remove 从数组中删除一项?

javascript - Bootstrap 3 Glyphicon 未在下拉菜单中对齐

javascript - 单击时的 JQ 事件处理程序

html - CSS下拉菜单问题和定位

regex - Capybara 从下拉列表中选择正则表达式?

css - 删除闪烁的 effet bootstrap 下拉菜单

javascript - 如何设置 mxGraph 顶点的最小尺寸(以便工具提示适用于最小的顶点)?

javascript - 在没有 Angular js输入字段的情况下捕获页面上的按键

javascript - 将jQuery对象复制到模态,然后隐藏或显示,然后显示