Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 如何根据多框中的选择启用/禁用复选框_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript 如何根据多框中的选择启用/禁用复选框

Javascript 如何根据多框中的选择启用/禁用复选框,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我在表单中有一个多选组合框和一个复选框 我希望仅当用户从“多选”组合框中选择特定值时才启用该复选框 这可以通过javascript或jQuery实现吗。我已经在别处使用jquery了 例如: 首先,复选框将被禁用。仅当用户单击选项2时才应启用该选项。您可以通过javascript启用/禁用html元素,方法是: document.getElementById('<the id of your checkbox here>').disabled = true; document.ge

我在表单中有一个多选组合框和一个复选框

我希望仅当用户从“多选”组合框中选择特定值时才启用该复选框

这可以通过javascript或jQuery实现吗。我已经在别处使用jquery了

例如:


首先,复选框将被禁用。仅当用户单击选项2时才应启用该选项。您可以通过javascript启用/禁用html元素,方法是:

document.getElementById('<the id of your checkbox here>').disabled = true;
document.getElementById(“”).disabled=true;
因此,在禁用/启用复选框时,必须添加多选组合框的OnChange事件,并在某些函数中添加逻辑。 例如:



函数myfunc(sel)
{
如果(选择值=“2”)
document.getElementById(“”).disabled=true;
}

您可以通过以下javascript启用/禁用html元素:

document.getElementById('<the id of your checkbox here>').disabled = true;
document.getElementById(“”).disabled=true;
因此,在禁用/启用复选框时,必须添加多选组合框的OnChange事件,并在某些函数中添加逻辑。 例如:



函数myfunc(sel)
{
如果(选择值=“2”)
document.getElementById(“”).disabled=true;
}

最简单的方法是,使用纯Javascript,不使用jQuery,您可以将以下
onchange
属性添加到
select
元素中(假设两个元素都由相同的表单包围):


如果它们的形式不同,或者您不知道所需元素的名称,或者元素是动态创建的,
.disabled=(this.value!=2)
将是相同的,但找到正确复选框的方法可能不同。

最简单的方法是,使用纯Javascript,而不使用jQuery,您可以将以下
onchange
属性添加到
select
元素中(假设两个元素都由相同的表单包围):


如果它们的形式不同,或者您不知道所需元素的名称,或者元素是动态创建的,
.disabled=(this.value!=2)
将是相同的,但是找到正确复选框的方法可能会有所不同。

我使用实现所需效果所需的正确jQuery更新了您提供的jsbin链接


我用适当的jQuery更新了您提供的jsbin链接,以达到预期效果


一个样本。只需将要启用其复选框的选项值添加到数组对象中。在下面的示例中,我启用了单击2、3、5和7选项时的复选框

<script type="text/javascript">
$(function(){
  var arrVal = [ "2","3", "5", "7" ];

  $("#combobox").change(function(){
    var valToCheck = String($(this).val());

    if ( jQuery.inArray(valToCheck,arrVal) == -1 )
    {
        $("#check").attr("disabled", "true");            
    }
    else
    {
        $("#check").removeAttr ( "disabled" );    
    }        
  });
});
</script>
<select id="combobox" size="9" id="reasons" multiple="multiple">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
    <option value="5">Option 5</option>
    <option value="6">Option 6</option>
    <option value="7">Option 7</option>
</select>

$(函数(){
var arrVal=[“2”、“3”、“5”、“7”];
$(“#组合框”).change(函数(){
var valToCheck=String($(this.val());
if(jQuery.inArray(valToCheck,arrVal)=-1)
{
$(“#检查”).attr(“禁用”、“真实”);
}
其他的
{
$(“#检查”).removeAttr(“禁用”);
}        
});
});
选择1
选择2
选择3
选择4
备选案文5
备选案文6
备选案文7

以您为例。

一个示例。只需将要启用其复选框的选项值添加到数组对象中。在下面的示例中,我启用了单击2、3、5和7选项时的复选框

<script type="text/javascript">
$(function(){
  var arrVal = [ "2","3", "5", "7" ];

  $("#combobox").change(function(){
    var valToCheck = String($(this).val());

    if ( jQuery.inArray(valToCheck,arrVal) == -1 )
    {
        $("#check").attr("disabled", "true");            
    }
    else
    {
        $("#check").removeAttr ( "disabled" );    
    }        
  });
});
</script>
<select id="combobox" size="9" id="reasons" multiple="multiple">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
    <option value="5">Option 5</option>
    <option value="6">Option 6</option>
    <option value="7">Option 7</option>
</select>

$(函数(){
var arrVal=[“2”、“3”、“5”、“7”];
$(“#组合框”).change(函数(){
var valToCheck=String($(this.val());
if(jQuery.inArray(valToCheck,arrVal)=-1)
{
$(“#检查”).attr(“禁用”、“真实”);
}
其他的
{
$(“#检查”).removeAttr(“禁用”);
}        
});
});
选择1
选择2
选择3
选择4
备选案文5
备选案文6
备选案文7

以您为例。

如果选项2和选项3需要更改,该怎么办?您的意思是,如果选项2和3都被选中,它将被激活?或者仅仅是1或其他?如果选项2和选项3需要更改怎么办?您的意思是,如果选项2和3都被选中,它将被激活?还是只有一个或另一个?
<script type="text/javascript">
$(function(){
  var arrVal = [ "2","3", "5", "7" ];

  $("#combobox").change(function(){
    var valToCheck = String($(this).val());

    if ( jQuery.inArray(valToCheck,arrVal) == -1 )
    {
        $("#check").attr("disabled", "true");            
    }
    else
    {
        $("#check").removeAttr ( "disabled" );    
    }        
  });
});
</script>
<select id="combobox" size="9" id="reasons" multiple="multiple">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
    <option value="4">Option 4</option>
    <option value="5">Option 5</option>
    <option value="6">Option 6</option>
    <option value="7">Option 7</option>
</select>