簡體   English   中英

啟用/禁用按鈕,取決於文本框中的輸入是否在選擇框中

[英]Enable/disable button depending on whether an input in a text box is in a select box

我幾乎完成了這段代碼的編寫: http : //jsfiddle.net/2Jkk9/11/

但我不知道如何在選擇框中搜索文本框中的值並相應地啟用/禁用按鈕。

可能就足夠了。代碼解釋了所有...

謝謝 :)。

編輯這是我來自jsfiddle的原始代碼:

<select id="myselect">
    <option>apple</option>
    <option>banana</option>
    <option>pear</option>
</select>
<br><br>
<input id="filter" type="text"/>

$(function() {
    $('#filter').keyup(function() {
         // if select box contains input then
         //   $('#mybtn').attr(disabled, 'disabled');
         //}
         //else {
         //   $('#mybtn').removeAttr('disabled');
         //}
    });
});

這應該通過過濾與文本匹配的選項並檢查長度來完成所需的操作:

$('#filter').keyup(function() {
    var text = $(this).val();
    if ($('#myselect option').filter(function() {
        return $(this).text() === text;
    }).length) {
        $('#mybtn').attr('disabled', 'disabled');
    }
    else {
        $('#mybtn').removeAttr('disabled');
    }
});

http://jsfiddle.net/infernalbadger/2Jkk9/16/

使用each()循環遍歷您的列表並通過.val()獲取值

檢查修改后的代碼。

(function() {
        $('#filter').keyup(function() {
            $('#myselect option').each(function(){
            if($(this).val() == $('#filter').val())
            {
                $('#mybtn').attr('disabled', 'disabled');
alert('hello');

            }
                else
                {
                     $('#mybtn').removeAttr('disabled');
                }


            });
             // if select box contains input then
             //   $('#mybtn').attr(disabled, 'disabled');
             //}
             //else {
             //   $('#mybtn').removeAttr('disabled');
             //}
        });
$(function() {
    $('#filter').keyup(function() {
        if($("#filter").val().split($("#myselect").val()).length > 1) {
            $('#mybtn').removeAttr('disabled');
        }
        else {
            $('#mybtn').attr('disabled', 'disabled');
        }
    });
});

如果過濾器包含選定的值,則不僅在相同時,它也起作用。

怎么樣:給您的選項一個值,例如:

<select>
  <option value="1"></option>
</select>

    $('#myselect').change(function () {
        if ($(this).val() == "1") {
            //do this
        } else { 
        //do this
        }

    });

暫無
暫無

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

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