簡體   English   中英

如何判斷用戶是否在javascript的組合框中選擇了第一個索引

[英]how to tell is user selected the first index in a combobox in javascript

我有這個代碼:

    $('#categories').change(function() {
            var myCars = new Array("Saab", "Volvo", "BMW");
            addRowToTable(this.value, myCars);
            $('#listings').hide();
        });

但是我不希望用戶選擇第一個項目時調用addRowToTable方法,因為第一個元素說“請選擇一個項目...”。

好吧,我認為使用下拉列表的selectedIndex屬性就足夠了:

$('#categories').change(function() {
    if(this.selectedIndex!=0) {
        var myCars = new Array("Saab", "Volvo", "BMW");
        addRowToTable(this.value, myCars);
        $('#listings').hide();
    }
});

您當然可以通過jQuery選擇器來發揮創造力,但是如果您當前的需要只是跳過第一項,那么我認為這是最簡單的解決方案。

假設“類別”是您的下拉列表的ID,您可以這樣操作:

$('#categories option:selected')

這應該返回下拉列表中的所有選定選項(其中一個或全部都不存在)。

可以按以下方式獲取所選項目的值:

$('#categories option:selected').val()

要查看所選項目和第一個項目是否相同,只需進行快速比較即可:

if ($('#categories option:selected').val() == $('#categories option:first').val())
{
//do something here
}

如果用戶僅選擇一個值:

  1. 在第一項中添加一個明顯的“無效”值
  2. 檢查該值並采取相應措施

假設無效值為零,並且所有其他選擇均具有整數值:

$('#categories option:selected').change(function() {
    if ($(this).val() === 0) {
        return;
    }

    var myCars = new Array("Saab", "Volvo", "BMW");
    addRowToTable(this.value, myCars);
    $('#listings').hide();
});

暫無
暫無

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

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