Jquery 通过多重选择,我们如何知道用户选择或取消选择了某些值?

Jquery 通过多重选择,我们如何知道用户选择或取消选择了某些值?,jquery,select,Jquery,Select,考虑简单的多重选择框 <select name="waste" id="waste" multiple> <option value="5">garbage</option> <option value="6">food</option> <option value="8">Tin</option> <option value="9">Can</option> </select>

考虑简单的多重选择框

<select name="waste" id="waste" multiple>
<option value="5">garbage</option>
<option value="6">food</option>
<option value="8">Tin</option>
<option value="9">Can</option>
</select>
试试这个:

$('#waste').change(function(){
    var selected=$(this).val();
    // selected now contains an array of the selected values
});
<select name="waste" id="waste" multiple>
    <option value="5">garbage</option>
    <option value="6">food</option>
    <option value="8">Tin</option>
    <option value="9">Can</option>
</select>
<p></p>
演示:

试试这个:

$('#waste').change(function(){
    var selected=$(this).val();
    // selected now contains an array of the selected values
});
<select name="waste" id="waste" multiple>
    <option value="5">garbage</option>
    <option value="6">food</option>
    <option value="8">Tin</option>
    <option value="9">Can</option>
</select>
<p></p>
演示:

尝试以下示例:

我将您的函数封装在一个立即自执行函数中,在该函数中我声明了一个包含所选项目数的变量。每次添加或删除项目时,我都会保存该值的当前长度(最初设置为0),以便您知道是否添加、删除或更改了所选内容。

尝试以下示例:


我将您的函数封装在一个立即自执行函数中,在该函数中我声明了一个包含所选项目数的变量。每次添加或删除项目时,我都会保存值的当前长度(最初设置为0),这样您就可以知道是否添加、删除或更改了所选内容。

我编写了一个示例,可以完全满足您的需要。 示例如下:

守则:

var prevarray = [];

$("select").change(function(event) {
    var
    thisarray = $(event.currentTarget).children(":selected").map(function(index, item) {
        return $(item).text()
    });



    for (i = 0; i < thisarray.length; i++) {
        var anoption = thisarray[i];
        if ($.inArray(anoption, prevarray) === -1) {

            console.log("added " + anoption);
        }
    }

    for (i = 0; i < prevarray.length; i++) {
        var anoption = prevarray[i];;
        if ($.inArray(anoption, thisarray) === -1) {
            console.log("removed " + anoption);
        }
    }

    prevarray = thisarray;

});​
var-prevarray=[];
$(“选择”).change(函数(事件){
变量
thisarray=$(event.currentTarget).children(“:selected”).map(函数(索引,项){
return$(item).text()
});
对于(i=0;i
我写了一个例子,可以完全满足您的需要。 示例如下:

守则:

var prevarray = [];

$("select").change(function(event) {
    var
    thisarray = $(event.currentTarget).children(":selected").map(function(index, item) {
        return $(item).text()
    });



    for (i = 0; i < thisarray.length; i++) {
        var anoption = thisarray[i];
        if ($.inArray(anoption, prevarray) === -1) {

            console.log("added " + anoption);
        }
    }

    for (i = 0; i < prevarray.length; i++) {
        var anoption = prevarray[i];;
        if ($.inArray(anoption, thisarray) === -1) {
            console.log("removed " + anoption);
        }
    }

    prevarray = thisarray;

});​
var-prevarray=[];
$(“选择”).change(函数(事件){
变量
thisarray=$(event.currentTarget).children(“:selected”).map(函数(索引,项){
return$(item).text()
});
对于(i=0;i
试试这个:

$('#waste').change(function(){
    var selected=$(this).val();
    // selected now contains an array of the selected values
});
<select name="waste" id="waste" multiple>
    <option value="5">garbage</option>
    <option value="6">food</option>
    <option value="8">Tin</option>
    <option value="9">Can</option>
</select>
<p></p>

垃圾
食物
锡
可以

js是:

function displayVals() {
     var wasteValues = $("#waste").val() || [];
     $("p").html("<b>Values:</b> " + multipleValues.join(", "));
   }
   $("#waste").change(displayVals);
   displayVals();
函数displayVals(){
var wasteValues=$(“#waste”).val();
$(“p”).html(“值:”+multipleValue.join(“,”));
}
元(“#废物”)。更改(显示值);
displayVals();
或者查看以下内容:希望这对您有所帮助:

尝试以下内容:

$('#waste').change(function(){
    var selected=$(this).val();
    // selected now contains an array of the selected values
});
<select name="waste" id="waste" multiple>
    <option value="5">garbage</option>
    <option value="6">food</option>
    <option value="8">Tin</option>
    <option value="9">Can</option>
</select>
<p></p>

垃圾
食物
锡
可以

js是:

function displayVals() {
     var wasteValues = $("#waste").val() || [];
     $("p").html("<b>Values:</b> " + multipleValues.join(", "));
   }
   $("#waste").change(displayVals);
   displayVals();
函数displayVals(){
var wasteValues=$(“#waste”).val();
$(“p”).html(“值:”+multipleValue.join(“,”));
}
元(“#废物”)。更改(显示值);
displayVals();
或者看看这个:希望这个能帮助你:

;这可能会有帮助。干杯这可能会有帮助。干杯