如果所选下拉值在db中具有“YES”值,则需要在选择(Multiselect或Select2)下拉列表时显示弹出窗口。我发布了一个ajax调用,其ID为下拉列表的当前选定值。
我将值作为数组类型获取,我需要获取User选择的特定选项的值。因此,我将在DB中检查该值为“YES”,
问题是: 我总是将价值作为首选项目。
我尝试了以下步骤:
var id =
答案 0 :(得分:0)
这将获取数组中的选定值,然后您可以将其传递到服务器端代码以检查数据库。 可能更适合将相关数据传递到您的网页并在那里进行检查,但如果不了解更多有关该方案的信息,我会将其留给您。
这是代码......
$("#mySelect").on("change", function() {
console.log($(this).val()); // contains an array of ID
});
select {
height: 100px;
width: 120px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="mySelect" multiple>
<option value="id1">option 1</option>
<option value="id2">option 2</option>
<option value="id3">option 3</option>
<option value="id4">option 4</option>
<option value="id5">option 5</option>
</select>
答案 1 :(得分:0)
您应该使用select2
Event Docs
$('#mySelect2').on('select2:select', function (e) {
var data = e.params.data;
console.log(data);
});
因此,如果您点击“是”,假设您有选择的下拉选项,例如
<option value="yes">Yes</option>
<option value="no">No</option>
它会在console
下面显示
{
"id": yes,
"text": "Yes",
}
所以你可以这样做
$('#mySelect2').on('select2:select', function(e) {
var data = e.params.data;
if (data.id == 'yes') {
//send your ajax call
} else {
//do something else
}
});
希望这会有所帮助
答案 2 :(得分:0)
@Muhammad Omar Aslam的答案是正确的。
但是对于早期版本的select2,不会触发该事件。
然后您可以使用类似这样的内容:
$('#mySelect2').on('change', function (e) {
var data = e.currentTarget.value
console.log(data);
});