javascript如果下拉选择,则设置文本框的值
我花了一些时间到处寻找这个,但似乎无法把它全部解决 我有一个运输下拉列表,我想分离运输类型和所选金额,并将它们放在两个单独的隐藏字段中。(为了便于测试,我目前正在使用文本字段) 例如— 如果他们从第一个下拉列表中选择隔夜交货-14.00 一旦更改,我想将shippingtype的值设置为“隔夜交货”,将shipping字段的值设置为“14.00” 我已经有了位置(如果用户选择了皮卡,则会出现一个新的下拉列表,并且无论您选择什么,都会设置我的shippinglocation字段的值) 这是我到目前为止所拥有的javascript如果下拉选择,则设置文本框的值,javascript,Javascript,我花了一些时间到处寻找这个,但似乎无法把它全部解决 我有一个运输下拉列表,我想分离运输类型和所选金额,并将它们放在两个单独的隐藏字段中。(为了便于测试,我目前正在使用文本字段) 例如— 如果他们从第一个下拉列表中选择隔夜交货-14.00 一旦更改,我想将shippingtype的值设置为“隔夜交货”,将shipping字段的值设置为“14.00” 我已经有了位置(如果用户选择了皮卡,则会出现一个新的下拉列表,并且无论您选择什么,都会设置我的shippinglocation字段的值) 这是我到目前
<html>
<head>
<script type="text/javascript">
function SetShipping (objDropDown)
{
var objHidden = document.getElementById("shipping");
objHidden.value = objDropDown.value;
}
function setShippingtype (objDropDown)
{
var objHidden = document.getElementById("shippingtype");
objHidden.value = objDropDown.value;
}
function setShippinglocation (objDropDown)
{
var objHidden = document.getElementById("shippinglocation");
objHidden.value = objDropDown.value;
}
function showEntry(obj,optionValue)
{
//hide all entry selections onchange
document.getElementById("pickup").style.display="none";
if(obj.value=="pickup")
{
document.getElementById(optionValue).style.display="inline";
}
}
</script>
</head>
<body>
<form id="myform">
<br />
shippingselectbox
<br />
<select onchange="showEntry(this,this.value);setShippingtype(this);" name="shippingselectbox">
<option value="">Shipping Options</option>
<option value="pickup">Pickup - no charge</option>
<option value="UPS">UPS Standard Shipping - 3.00</option>
<option value="Overnight">Overnight Delivery - 14.00</option>
</select>
<br />
<br />
pickup
<span id="pickup" style="display:none;">
<select name="pickup" onchange="setShippinglocation(this)">
<option>Please Choose a Location</option>
<option value="Billings">Billings, MT</option>
<option value="Livingston">Livingston, MT</option>
<option value="Miles City">Miles City, MT</option>
<option value="Cody">Cody, WY</option>
<option value="Sheridan">Sheridan, WY</option>
</select>
</span>
<br />
<br />
<br />
shipping (set hidden form tag - shipping amount for paypal)<br />
<input name="shipping" type="text" value=""/>
<br />
<br />
<br />
shippingtype (set hidden form tag - variable for paypal to send to Chris)<br />
<input name="shippingtype" type="text" value=""/>
<br />
<br />
<br />
shippinglocation (set hidden form tag - variable for paypal to send to Chris)<br />
<input name="shippinglocation" id="shippinglocation" type="text" value=""/>
</form>
</body>
</html>
功能设置shipping(objDropDown)
{
var objHidden=document.getElementById(“shipping”);
objHidden.value=objDropDown.value;
}
函数设置ShippingType(objDropDown)
{
var objHidden=document.getElementById(“shippingtype”);
objHidden.value=objDropDown.value;
}
功能设置ShippingLocation(objDropDown)
{
var objHidden=document.getElementById(“shippinglocation”);
objHidden.value=objDropDown.value;
}
功能显示条目(obj,选项值)
{
//更改时隐藏所有条目选择
document.getElementById(“拾取”).style.display=“无”;
如果(目标值=“拾取”)
{
document.getElementById(optionValue).style.display=“inline”;
}
}
装运选择箱
运输选择
收件-不收费
UPS标准配送-3.00
隔夜送货-14.00
改善
请选择一个位置
比林斯山
利文斯顿山
迈尔斯城
科迪,怀俄明州
威斯康星州谢里登
配送(设置隐藏表单标签-贝宝配送金额)
shippingtype(设置隐藏表单标签-贝宝发送给Chris的变量)
shippinglocation(设置隐藏表单标签-贝宝发送给Chris的变量)
请格式化您发布的代码,这是可能的。正如你所说,抓住onChange事件。我会以某种方式序列化下拉元素的值。使用破折号、下划线或其他符号,然后对值执行split(),并将相应的拆分存储在相应的隐藏输入值字段中
例如,为了简洁起见,使用原型:
function changeHandler(evt) {
var selected = evt.target[evt.target.selectedIndex];
var values = selected.value.split("-");
$('hidden1').value = values[0];
$('hidden2').value = values[1];
}
请格式化您发布的代码,这是可能的。正如你所说,抓住onChange事件。我会以某种方式序列化下拉元素的值。使用破折号、下划线或其他符号,然后对值执行split(),并将相应的拆分存储在相应的隐藏输入值字段中 例如,为了简洁起见,使用原型:
function changeHandler(evt) {
var selected = evt.target[evt.target.selectedIndex];
var values = selected.value.split("-");
$('hidden1').value = values[0];
$('hidden2').value = values[1];
}
我冒昧地将您的方法名从SetShipping更改为SetShipping,以保持您的命名约定不变。坦率地说,我不想费心重新格式化,但我测试过了,所以玩得很开心
<html>
<head>
<script type="text/javascript">
function setShipping (objDropDown)
{
var objHidden = document.getElementById("shipping");
var type = objDropDown.options[objDropDown.selectedIndex].text.substring(objDropDown.options[objDropDown.selectedIndex].text.indexOf('-')+2, objDropDown.options[objDropDown.selectedIndex].text.length);
objHidden.value = type;
}
function setShippingtype (objDropDown)
{
var objHidden = document.getElementById("shippingtype");
var type = objDropDown.options[objDropDown.selectedIndex].text.substring(0, objDropDown.options[objDropDown.selectedIndex].text.indexOf('-')-1);
objHidden.value = type;
}
function setShippinglocation (objDropDown)
{
var objHidden = document.getElementById("shippinglocation");
objHidden.value = objDropDown.value;
}
function showEntry(obj,optionValue)
{
//hide all entry selections onchange
document.getElementById("pickup").style.display="none";
if(obj.value=="pickup")
{
document.getElementById(optionValue).style.display="inline";
}
}
</script>
</head>
<body>
<form id="myform">
<br />
shippingselectbox
<br />
<select onchange="showEntry(this,this.value);setShippingtype(this);setShipping(this);" name="shippingselectbox">
<option value="">Shipping Options</option>
<option value="pickup">Pickup - no charge</option>
<option value="UPS">UPS Standard Shipping - 3.00</option>
<option value="Overnight">Overnight Delivery - 14.00</option>
</select>
<br />
<br />
pickup
<span id="pickup" style="display:none;">
<select name="pickup" onchange="setShippinglocation(this)">
<option>Please Choose a Location</option>
<option value="Billings">Billings, MT</option>
<option value="Livingston">Livingston, MT</option>
<option value="Miles City">Miles City, MT</option>
<option value="Cody">Cody, WY</option>
<option value="Sheridan">Sheridan, WY</option>
</select>
</span>
<br />
<br />
<br />
shipping (set hidden form tag - shipping amount for paypal)<br />
<input name="shipping" id="shipping" type="text" value=""/>
<br />
<br />
<br />
shippingtype (set hidden form tag - variable for paypal to send to Chris)<br />
<input name="shippingtype" id="shippingtype" type="text" value=""/>
<br />
<br />
<br />
shippinglocation (set hidden form tag - variable for paypal to send to Chris)<br />
<input name="shippinglocation" id="shippinglocation" type="text" value=""/>
</form>
</body>
</html>
功能设置shipping(objDropDown)
{
var objHidden=document.getElementById(“shipping”);
var type=objDropDown.options[objDropDown.selectedIndex].text.substring(objDropDown.options[objDropDown.selectedIndex].text.indexOf('-')+2,objDropDown.options[objDropDown.selectedIndex].text.length);
objHidden.value=类型;
}
函数设置ShippingType(objDropDown)
{
var objHidden=document.getElementById(“shippingtype”);
var type=objDropDown.options[objDropDown.selectedIndex].text.substring(0,objDropDown.options[objDropDown.selectedIndex].text.indexOf('-')-1);
objHidden.value=类型;
}
功能设置ShippingLocation(objDropDown)
{
var objHidden=document.getElementById(“shippinglocation”);
objHidden.value=objDropDown.value;
}
功能显示条目(obj,选项值)
{
//更改时隐藏所有条目选择
document.getElementById(“拾取”).style.display=“无”;
如果(目标值=“拾取”)
{
document.getElementById(optionValue).style.display=“inline”;
}
}
装运选择箱
运输选择
收件-不收费
UPS标准配送-3.00
隔夜送货-14.00
改善
请选择一个位置
比林斯山
利文斯顿山
迈尔斯城
科迪,怀俄明州
威斯康星州谢里登
配送(设置隐藏表单标签-贝宝配送金额)
shippingtype(设置隐藏表单标签-贝宝发送给Chris的变量)
shippinglocation(设置隐藏表单标签-贝宝发送给Chris的变量)
我冒昧地将您的方法名称从SetShipping更改为SetShipping,以保持您的命名约定不变。坦率地说,我不想费心重新格式化,但我测试过了,所以玩得很开心
<html>
<head>
<script type="text/javascript">
function setShipping (objDropDown)
{
var objHidden = document.getElementById("shipping");
var type = objDropDown.options[objDropDown.selectedIndex].text.substring(objDropDown.options[objDropDown.selectedIndex].text.indexOf('-')+2, objDropDown.options[objDropDown.selectedIndex].text.length);
objHidden.value = type;
}
function setShippingtype (objDropDown)
{
var objHidden = document.getElementById("shippingtype");
var type = objDropDown.options[objDropDown.selectedIndex].text.substring(0, objDropDown.options[objDropDown.selectedIndex].text.indexOf('-')-1);
objHidden.value = type;
}
function setShippinglocation (objDropDown)
{
var objHidden = document.getElementById("shippinglocation");
objHidden.value = objDropDown.value;
}
function showEntry(obj,optionValue)
{
//hide all entry selections onchange
document.getElementById("pickup").style.display="none";
if(obj.value=="pickup")
{
document.getElementById(optionValue).style.display="inline";
}
}
</script>
</head>
<body>
<form id="myform">
<br />
shippingselectbox
<br />
<select onchange="showEntry(this,this.value);setShippingtype(this);setShipping(this);" name="shippingselectbox">
<option value="">Shipping Options</option>
<option value="pickup">Pickup - no charge</option>
<option value="UPS">UPS Standard Shipping - 3.00</option>
<option value="Overnight">Overnight Delivery - 14.00</option>
</select>
<br />
<br />
pickup
<span id="pickup" style="display:none;">
<select name="pickup" onchange="setShippinglocation(this)">
<option>Please Choose a Location</option>
<option value="Billings">Billings, MT</option>
<option value="Livingston">Livingston, MT</option>
<option value="Miles City">Miles City, MT</option>
<option value="Cody">Cody, WY</option>
<option value="Sheridan">Sheridan, WY</option>
</select>
</span>
<br />
<br />
<br />
shipping (set hidden form tag - shipping amount for paypal)<br />
<input name="shipping" id="shipping" type="text" value=""/>
<br />
<br />
<br />
shippingtype (set hidden form tag - variable for paypal to send to Chris)<br />
<input name="shippingtype" id="shippingtype" type="text" value=""/>
<br />
<br />
<br />
shippinglocation (set hidden form tag - variable for paypal to send to Chris)<br />
<input name="shippinglocation" id="shippinglocation" type="text" value=""/>
</form>
</body>
</html>
功能设置shipping(objDropDown)
{
var objHidden=document.getElementById(“shipping”);
var type=objDropDown.options[objDropDown.selectedIndex].text.substring(objDropDown.options[objDropDown.selectedIndex].text.indexOf('-')+2,objDropDown.options[objDropDown.selectedIndex].text.length);
objHidden.value=类型;
}
函数设置ShippingType(objDropDown)
{
var objHidden=document.getElementById(“shippingtype”);
var type=objDropDown.options[objDropDown.selectedIndex].text.substring(0,objDropDown.options[objDropDown.selectedIndex].text.indexOf('-')-1);
objHidden.value=类型;
}
功能设置ShippingLocation(objDropDown)
{
var objHidden=document.getElementById(“shippinglocation”);
objHidden.value=objDropDown.value;
}
功能显示条目(obj,选项值)
{
//更改时隐藏所有条目选择
document.getElementById(“拾取”).style.display=“无”;
如果(目标值=“拾取”)
{
document.getElementById(optionValue).style.display=“inline”;
}
}
装运选择箱
运输选择
收件-不收费
UPS标准配送-3.00
接近