我有这段代码:
$("#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
)。
我理解它的价值是什么,但是可以在数据库中添加名称而不是值吗?在这种情况下,此值可以从选择传递到输入。
谢谢
答案 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());