如果对单选按钮进行了特定的更改,而不仅仅是任何更改,则将下拉列表的值更改为null

Change value of dropdown to null if specific change is made to radio button, but not just any change

本文关键字:任何更 null 下拉列表 不仅仅是 如果 单选按钮      更新时间:2023-09-26

如果我将ID为"101"的单选按钮从一个选项更改为另一个选项,下面的代码将把ID为"106"的下拉菜单更改为空值:

<script type="text/javascript">
jQuery(document).ready(function($){
  $('input[name="item_meta[101]"]').change(function(){
    $('select[name="item_meta[106]"]').val('');
  })
})
</script>

然而,只有在选择了中的特定值,而不是任何可用值的情况下,我才需要将106更改为null。单选按钮id=101的值分别为1、2、3、4、5。所以,如果101从5变为4,而不是从5变到3,我希望106恢复为零值。

这可能吗?如果是这样的话,显然需要将".change(function()"更改为其他参数,但我不知道它会是什么。

感谢任何预付款的帮助。这里有一个JS Fiddle:http://jsfiddle.net/3N2TT/

更新:这是最后一个有效的代码:

<script type="text/javascript">
jQuery(document).ready(function($){
$('input[type="radio"][name="item_meta[101]"]').change(
function () {
    var valCheck = this.value === '4 Categories - $90';
    $('select[name="item_meta[106]"]').val(function () {
        return valCheck ? 'null' : this.value;
    });
});
})
</script>

谢谢,大卫!

我自己对您的问题的看法如下:

$('input[type="radio"][name="item_meta[101]"]').change(
    function(){
        // testing if the chosen value is equal to '4' (all input values are strings):
        var valCheck = this.value === '4';
        // setting the value of the select:
        $('select[name="item_meta[106]"]').val(function(){
            /* setting to 'null' if the valCheck evaluates to true, otherwise returning
               the currently-selected value: */
            return valCheck ? 'null' : this.value;
        });
    });

JS Fiddle演示。

参考文献:

  • 属性等于[attribute="value"]选择器
  • CCD_ 2
  • val()

使用click函数并使用class作为单选框选择器。

jQuery(document).ready(function($){
  $('.myradiobox').click(function(){
    var radioVal = this.val();
    if(radioVal == 5 || radioVal == 4)
    {
       radioVal == 'NULL';
    }
    $('select[name="item_meta[106]"]').val(radioVal);
  })
})
相关文章: