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

时间:2016-09-09 10:54:50

标签: javascript php jquery html

我有这段代码:

$("#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代码添加到输入字段,这样可以正常工作!

问题是,当我在数据库中添加数据时,我选择的两个值都是示例我选择了bank 1,然后两者都将保存为swiftbank1

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

我理解它的价值是什么,但是可以在数据库中添加名称而不是值吗?在这种情况下,此值可以从选择传递到输入。

谢谢

4 个答案:

答案 0 :(得分:2)

您可以使用.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">

答案 1 :(得分:0)

尝试此操作以获取所选选项的文本

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

答案 2 :(得分:0)

由于您需要将值传递给存储在数据库中,因此快速将value保持为swiftbank1###bank1

在服务器端用###拆分字符串并将它们分开存储,如下所示:

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

$valueArray[0]swiftbank1$valueArray[1]bank1

答案 3 :(得分:0)

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