簡體   English   中英

如何根據多個框中的選擇啟用/禁用復選框

[英]how to make a checkbox enable/disable based on selection in multiple box

我有一個多選組合框和一個表單中的復選框。

我希望僅當用戶從多選組合框中選擇特定值時才啟用該復選框。

這是可能的...通過javascript或jQuery。 我已經在其他地方使用jquery了。

示例: http//jsbin.com/ipomu

以復選框開頭將被禁用。 它應該僅在用戶單擊選項2時啟用

一個樣本。 您只需添加要為其啟用數組對象的復選框的選項值。 在下面的示例中,我啟用了單擊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>

為您的示例工作演示

我更新了您提供的jsbin鏈接以及實現所需效果所需的正確jQuery。

http://jsbin.com/ipomu/2

您可以通過javascript啟用/禁用html元素:

document.getElementById('<the id of your checkbox here>').disabled = true;

因此,您必須添加多選組合框的OnChange事件,並在某些功能中添加邏輯何時禁用/啟用您的復選框。 例:

<select onChange="myfunc(this)">

...

<script>
function myfunc(sel)
{
if (sel.selectedValue == "2")
    document.getElementById('<the id of your checkbox here>').disabled = true;
}
</script>

最簡單的是,使用直接的Javascript,沒有jQuery,您可以將以下onchange屬性添加到select元素(假設元素都被相同的表單包圍):

onchange="this.form['mycheck'].disabled = (this.value != 2)"

如果它們不是相同的形式,或者如果您不知道目標元素的名稱,或者動態創建元素,則.disabled = (this.value != 2)將是相同的,但方法找到正確的復選框可能會有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM