[英]pass multiple names in onchange function() of select option
I'm trying to pass multiple text in select option. 我正在尝试在选择选项中传递多个文本。 I tried many examples here but none work. 我在这里尝试了很多示例,但是没有用。 where i am wrong? 我哪里错了? Below is my code 下面是我的代码
<select name="region" id="region" class="region" onchange="change_pack();">
<option selected="selected" value="'Base','abs','Ram'">North</option>
<option value="'Base','noabs','Sita'">South</option>
</select>
below is my script 下面是我的剧本
function change_pack(pack, table, name){
$.ajax({
type: "POST",
url: "extra/plan.php",
data: "name="+name+"&tble="+table+"&pack="+pack,
cache: false,
success: function(response){
//alert(response);return false;
$("#plan").html(response);
}
});
}
Input values are usually strings so you need to split the string into your values 输入值通常是字符串,因此您需要将字符串拆分为值
<select name="region" id="region" class="region" onchange="change_pack(this.value);">
<option selected="selected" value="'Base','abs','Ram'">North</option>
<option value="'Base','noabs','Sita'">South</option>
</select>
js: JS:
function change_pack(data)
{
var [pack, table, name] = data.split(",");
$.ajax({
type: "POST",
url: "extra/plan.php",
data: "name="+name+"&tble="+table+"&pack="+pack,
cache: false,
success: function(response)
{
//alert(response);return false;
$("#plan").html(response);
}
});
}
You can pass comma sepearated values in ajax: 您可以在ajax中传递逗号分隔的值:
HTML: HTML:
<select name="region" id="region" class="region" onchange="change_pack(this);">
<option selected="selected" value="'Base','abs','Ram'">North</option>
<option value="'Base','noabs','Sita'">South</option>
</select>
JS JS
function change_pack(data)
{
var selectedval = $(data).val();
var [pack, table, name] = selectedval.split(",");
$.ajax({
type: "POST",
url: "extra/plan.php",
data: "name="+name+"&tble="+table+"&pack="+pack,
cache: false,
success: function(response)
{
//alert(response);return false;
$("#plan").html(response);
}
});
}
DEMO: https://codepen.io/creativedev/pen/aKaVBX 演示: https : //codepen.io/creativedev/pen/aKaVBX
option
can have one value assigned. option
可以分配一个值。 You can set it as a key of your additional object that may store extra data: 您可以将其设置为可以存储额外数据的其他对象的键:
<select name="region" id="region" class="region" onchange="change_pack();">
<option selected="selected" value="north">North</option>
<option value="south">South</option>
</select>
JS: JS:
var values = {
north: {
name: 'Base',
table: 'abs',
pack: 'Ram'
},
...
}
function change_pack(value) {
var data = values[value];
// if `north` will be selected, data will contain:
// { name: 'Base', table: 'abs', pack: 'Ram' }
}
You may try using form serialize of ajax to get all form data and pass it to back end " https://api.jquery.com/serialize/ " 您可以尝试使用Ajax的表单序列化获取所有表单数据,并将其传递给后端“ https://api.jquery.com/serialize/ ”
https://jsfiddle.net/sjhu1nt5/13/ https://jsfiddle.net/sjhu1nt5/13/
<form>
<select name="region" id="region" class="region" >
<option selected="selected" value="'Base','abs','Ram'">North</option>
<option value="'Base','noabs','Sita'">South</option>
</select>
</form>
<div id="results">
</div>
<script>
$( document ).ready(function() {
$( "select" ).on( "change", change_pack );
});
function change_pack(pack, table, name){
// directly get all the data of form in str.
var str = $( "form" ).serialize();
$("#results").html(str);
$.ajax({
type: "POST",
url: "extra/plan.php",
data: "name="+name+"&tble="+table+"&pack="+pack,
cache: false,
success: function(response){
//alert(response);return false;
$("#plan").html(response);
}
});
}
</script>
<select name="region" id="region" class="region" onchange="change_pack(this.value);">
<option selected="selected" value="'Base','abs','Ram'">North</option>
<option value="'Base','noabs','Sita'">South</option>
</select>
function change_pack(data)
{
var [pack, table, name] = data.toString().split(",");
$.ajax({
type: "POST",
url: "extra/plan.php",
data: "name="+name+"&tble="+table+"&pack="+pack,
cache: false,
success: function(response)
{
//alert(response);return false;
$("#plan").html(response);
}
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.