如何在jQuery的.val()方法中传入多个变量设置下拉框选中值
实现方案
你新增的<option>的value属性本身就是由device_brand、device_model、device_imei三个字段用空格拼接而成的,jQuery的.val()方法只需要传入和目标option的value完全一致的字符串,就能匹配选中对应的选项,所以你只要把三个字段按同样的规则拼接后传入即可。
修改后的代码如下:
success: function(data) { toastr['success']("<?php echo lang('add'); ?>", "Customer Device Added"); setTimeout(function() { const obj = JSON.parse(data); // 提前把拼接好的值存为变量,避免重复拼接,后续维护也更方便 const deviceFullValue = obj[0].device_brand + ' ' + obj[0].device_model + ' ' + obj[0].device_imei; jQuery('#customer_device').append('<option value="' + deviceFullValue + '">' + deviceFullValue + '</option>'); // 直接传入拼接好的完整值即可匹配选中新增的选项 jQuery('#customer_device').val(deviceFullValue).trigger("change"); $('#customer_device_modal').modal('hide'); }, 500); }
补充说明
如果你用的是多选下拉框(<select multiple>)需要同时选中多个选项,才需要给.val()传入数组格式的参数,比如$('select').val(['值1','值2','值3']),你的场景是单选下拉框选中单个新增选项,用上述拼接字符串的方案即可。
内容的提问来源于stack exchange,提问作者Akhlaque Ahmed
相关产品推荐
相关产品推荐

