在select2插件Javascript或jquery中交换两个选择框的值

时间:2017-05-23 12:29:24

标签: javascript jquery html jquery-select2

我创建了两个选择框,每个框都有不同的国家/地区名称,使用select2插件标记图像,下面的数据库中的值是代码。

JS CODE

$(".currencyconverterselect").select2({
  templateResult: addflag,
  templateSelection: addflag
});

function addflag(opt) {
  if (!opt.id) {
    return opt.text;
  }
  var $opt = $(
    '<span><img src="./img/flags/' + $(opt.element).attr('data-country-code') + '.png" class="userPic" /> ' + $(opt.element).text() + '</span>'
  );
  return $opt;
};

HTML CODE

    <label style="color:white">Currency from</label>
              <select name="fromcurrency_cc" id="fromcurrency_cc" class="form-control charts_currency" style="width:100%" required="required">
                <?php
$sql = "SELECT fc.country_id,fc.code,fc.name,cc.country_code AS countrycode FROM fx_currency fc LEFT JOIN fx_country cc ON fc.country_id = cc.id ";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {

    if ($row['code'] == 'AED')
    { ?>
                <option data-country-code='<?php echo $row['countrycode']; ?>' value="<?php echo $row['code']; ?><?php echo $row['countrycode']; ?>" selected>
                  <?php echo $row['name']; ?>(
                  <?php echo $row['code']; ?> )</option>
                <?php } else { ?>

                <option data-country-code='<?php echo $row['countrycode']; ?>' value="<?php echo $row['code']; ?><?php echo $row['countrycode']; ?>">
                  <?php echo $row['name']; ?>(
                  <?php echo $row['code']; ?> )</option>

                <?php }}
} else {
  echo "0 results";
}
                ?>
              </select>

我还在下面创建了一个按钮是代码

<a href="#" id="swapvalues_btn1" style="color:white" ><i class="fa fa-exchange fa-2x"></i></a>

我想通过点击按钮将FROM货币的值换成TO货币,反之亦然。

我试过下面的代码

$("#swapvalues_btn1").on('click', function() {
    var pickup = $('#fromcurrency_cc').val();
    $('#from').val($('#tocurrency').val());
    $('#to').val(pickup);

  });

1 个答案:

答案 0 :(得分:0)

Select2将侦听附加到的更改事件。如果进行任何需要在Select2中反映的外部更改(例如更改值)。

只需使用以下代码

f=[1,1]
for i in range(8):
    f.append(f[i-1]+f[i-2])

print(f)

有关更多信息,请点击此链接 https://select2.github.io/options.html#events