如何禁用按钮如果我在下拉列表中选择NO

时间:2015-08-10 05:06:58

标签: javascript jquery

代码就像这样:

commonality

该按钮应禁用为: 加入购物车

4 个答案:

答案 0 :(得分:5)

为您的选择写一个onchange事件并找到所选的值

<button id="btnSubmit" type="submit">Add to cart</button>

<强> JS

$("select").on('change',function(){
   if($(this).find('option:selected').text()=="No")
       $("#btnSubmit").attr('disabled',true)
   else
       $("#btnSubmit").attr('disabled',false)
});

示例代码段

&#13;
&#13;
$("select").on('change',function(){
   if($(this).find('option:selected').text()=="No")
       $("#btnSubmit").attr('disabled',true)
   else
       $("#btnSubmit").attr('disabled',false)
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="productextra[@count@]">
<option value="[@option_id@]">Yes</option>
<option value="[@option_id@]">No</option>
</select>
<button id="btnSubmit" type="submit">Add to cart</button>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

var sel = document.getElementById('productextra');
var sv = sel.options[sel.selectedIndex].value;

这将给出所选选项的值,您可以使用

禁用该按钮
document.getElementById("myBtn").disabled = true;

答案 2 :(得分:1)

您的HTML应该是这样的:

<select id="productextra0">
<option value="0">Yes</option>
<option value="1">No</option>
</select>

<button type="submit" id="submit-button">Add to cart</button>

和javascript:

window.onload=function()
{
    document.getElementById("productextra0").onchange=function()
    {
        if(this.options[this.selectedIndex].value==1)
        {
            document.getElementById("submit-button").disabled=true;
        }
        else
        {
            document.getElementById("submit-button").disabled=false;
        }
    }
}

here is the working demo

我为添加到购物车按钮添加了一个id,因此可以通过javascript document.getElementById轻松访问它,现在我为dropdown onchange事件添加了事件处理程序,这意味着每次dropdownchanges值都会触发一个函数。当下拉列表更改其值时,该函数将检查它是否等于1然后它将禁用添加到购物车按钮,否则它将启用它。

我还将该函数放入windows.onload中,以便我们可以确保onchange函数只有在准备好或已经由浏览器创建时才附加到您的下拉列表。

答案 3 :(得分:0)

按钮

<button id="btn" type="submit">Add to cart</button>

jquery的

$("#btn").prop("disabled", true);