如何保存选择选项的名称而不是值

How to save name of select option instead of value

本文关键字:选项 何保存 保存 选择      更新时间:2023-09-26

我有这样的代码:

$("#subscription").on('change', function(){
  $('#plan').val($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="bank_name" class="form-control input-md chosen-select" id="subscription">
  <option value="">Choose Bank</option>
  <option value="swiftbank1">bank 1</option>
  <option value="swiftbank2">bank 2</option>
</select>
<input type="text" id="plan" class="form-control input-md" name="swift">

它所做的是在输入字段中添加swift代码,这很好!

问题是,当我在数据库上添加数据时,两个值都是我选择的,例如我选择银行1,那么两者都将被保存为swiftbank1

我需要它保存银行名称(bank 1)和swift (swiftbank1)在数据库中。

我明白,值是什么,但是否有可能在数据库中添加名称而不是值?在这种情况下,这个值可以从选择传递到输入。

谢谢

您可以使用.text来获取选定的文本。

$("#subscription").on('change', function(){
var text = $("#subscription :selected").text();
var value = $("#subscription").val();
console.log(text); // this will print text
console.log(value); // this will print value
//var plan = $('#plan').val(text); // this will change the value of plan
$("#plan").attr("value",text); // this will add the value attribute 
$('#plan').val(text); // this will change the value of plan
$('#subscription :selected').val(value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<select name="bank_name" class="form-control input-md chosen-select" id="subscription">
<option value="">Choose Bank</option>
<option value="swiftbank1">bank 1</option>
<option value="swiftbank2">bank 2</option>
</select>
<input type="text" id="plan" class="form-control input-md" name="swift">

尝试获取所选选项的文本

$("#subscription").on('change', function(){
    $('#plan').val(this.options[this.selectedIndex].text);
});

由于您需要将值传递到数据库中存储,因此快速的方法是将value保留为swiftbank1###bank1

在服务器端使用###分割字符串,并像这样分开存储:

 $selectValue = $_POST['select_name'];
 $valueArray = explode("####",$selectValue);

$valueArray[0]将有swiftbank1, $valueArray[1]将有bank1

使用$('#plan').val($('#subscription option:selected').text());