使用JQuery / Javascript对单个更改事件执行多个操作

时间:2017-08-19 17:17:01

标签: javascript php jquery

我需要实现这个js,以便在select字段的change事件上填写不同的字段。

<select class="form-control" name='brands_list'>
<option value="0">Seleziona il produttore</option>
<?php 
while ($listabrand=mysqli_fetch_array($brands)){
echo '<option value="'.$listabrand[0].','.$listabrand[1].','.$listabrand[2].'">'.$listabrand['0'].' - '.$listabrand['1'].'</option>';
}?>
</select>

这是要实施的js。我应该添加第二个操作来填充名为&#39; brand_link&#39;的输入字段。假设数组值为[2]:

<script>
    $('select[name="brands_list"]').change(function(){  
    $('input[name="brand_name"]').val($('select[name="brands_list"] option:selected').text().split(' - ')[1]);
    });
    </script>

我做了几次尝试,但没有结果,如

<script>
$('select[name="brands_list"]').change(function(){  
$('input[name="brand_name"]').val($('select[name="brands_list"] option:selected').text().split(' - ')[1]);
});

$('select[name="brands_list"]').change(function(){  
$('input[name="brand_link"]').val($('select[name="brands_list"] option:selected').text()[2]);
});

任何帮助?

2 个答案:

答案 0 :(得分:2)

您可以在一个功能中完成所有操作。你的pastebin不工作的原因是因为1)你没有操作所选项目的.val()(而不是元素本身)和2)你没有用逗号分割值,就像你拆分了.text()连字符。

$('select[name="brands_list"]').change(function(){
  var $selectedOption = $('select[name="brands_list"] option:selected');
  $('input[name="brand_name"]').val($selectedOption.text().split(' - ')[1]);
  $('input[name="brand_link"]').val($selectedOption.val().split(',')[2]);
});

答案 1 :(得分:0)

$(".form-control").change(function()
{ 
     //alert( this.value );
     var sl_value = this.value;
     $('input[name="brand_name"]').val(sl_value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="brand_name" value="">
<?php $listabrand=mysqli_fetch_array($brands);?>
<select class="form-control" name='brands_list'>
   <option value="Seleziona il produttore">Seleziona il produttore</option>
   <?php 
      foreach($listabrand as $brand){ ?>
   <option value="<?php echo $brand;?>"><?php echo $brand;?></option>
   <?php } ?>
</select>

在第一步中,在更改时获取jquery中的下拉选择值。并将此值保存在jQuery变量中。然后使用jQuery在文本框中插入此值。感谢