社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Jquery

jQuery if多个.val下拉值的条件

RuFFCuT • 6 年前 • 2093 次点击  

我将根据下拉选择将数据追加到输入字段中,什么是最干净的方式来执行此操作,因为我有大约25个要执行的操作,目前我的工作方式如下:

$('#dropdown').change(function() {
  if($(this).val() == 10){
    ('#number').val('108-0<?php echo $number; ?>');
  }
});

有几个下拉选项共享相同的附加编号,因此我不想重复代码,我知道我可以执行以下操作:

$('#dropdown').change(function() {
  if($(this).val() == 10||
     $(this).val() == 11||
     $(this).val() == 12){
    $('#number').val('108-0<?php echo $number; ?>');
}

但即使这看起来太多了,你会怎么做?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51458
文章 [ 2 ]  |  最新文章 6 年前
Anonymous
Reply   •   1 楼
Anonymous    6 年前

如果值没有模式,则数组是最好的方法,但对于您的示例,最好使用:

$('#dropdown').change(function() {
  var val = parseInt($(this).val());
  if(val >= 10 && val <= 12){
    $('#number').val('108-0<?php echo $number; ?>');
}
CertainPerformance
Reply   •   2 楼
CertainPerformance    6 年前

检查可能值的数组是否包含 .val() :

$('#dropdown').change(function() {
  if ([10, 11, 12].includes(Number($(this).val()))) {
    $('#number').val('108-0<?php echo $number; ?>');
  }
});

不需要像jQuery这样的大型库来处理这些琐碎的事情:

const [dropdown, number] = ['dropdown', 'number'].map(id => document.getElementById(id));
dropdown.addEventListener('change', () => {
  if ([10, 11, 12].includes(Number(dropdown.value))) {
    number.value = '108-0<?php echo $number; ?>';
  }
});

如果需要检查多个值数组,请先将其提取到变量中:

$('#dropdown').change(function() {
  const val = Number($(this).val());
  if ([10, 11, 12].includes(val)) {
    $('#number').val('108-0<?php echo $number; ?>');
  } else if ([1, 5, 15].includes(val)) {
    $('#number').val(5000);
  }
});