我的html中有两个选择选项,我想计算两个城市之间的旅行成本,我将如何比较用户使用jquery选择的两个选项,这里是我现在使用的代码。 / p>
</head>
<body>
<div>
<select id="origin" name="form_select">
<option value="" disabled selected> select cargo origin...</option>
<option value="0">chicago</option>
<option value="1">london</option>
<option value="1">berlin</option>
</select>
</div>
<div>
<select id="destination" name="form_select">
<option value="" disabled selected> select cargo destination...< /option>
<option value="0">dubai</option>
<option value="1">london</option>
<option value="1">berlin</option>
</select>
</div>
这是我的jquery代码,现在它只显示和隐藏div选择一个选项,我无法得到如何从同一函数上的不同选择选项调用不同的值,以便计算距离
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#origin").change(function(){
$(this).find("option:selected").each(function(){
if($(this).attr("value")=="1"){
$("#hidden_div").show();
}else{
$("#hidden_div").hide();
}
});
});
$("#destination").change(function(){
$(this).find("option:selected").each(function(){
var my =$("#test" ).val();
if($(this).attr("value")<="1"){
var my = $( "#myselect option:selected" ).text();
alert(my);
$("#hidden_div").show();
}else{
$("#hidden_div").hide();
}
});
});
});
</script>
答案 0 :(得分:0)
假设当您说value=0
或value=1
时,您的意思是比较两个值之间的差异,那么您会说:
val price = Math.abs($('#origin').val() - $('#destination').val());
答案 1 :(得分:0)
首先,您可能希望将国家/地区名称用作这些选项&#39;值
其次,你重复了最后一个&amp;的价值。原始选项和目的地的倒数第二
使用jQuery,您还可以使用.val()
获取input
元素的值,详细了解http://api.jquery.com/val/
您可以考虑使用以下脚本来比较目标:
function Compare(origin, destination) {
if (origin.length > 0 && destination.length > 0) {
if (origin == destination) alert("You have the same origin and destination!");
else {
$(".result").html("origin: " + origin + "<br />destination: " + destination);
return true;
}
}
return false
}
var $origin = $("#origin"),
$destination = $("#destination");
$("#origin, #destination").change(function(){
Compare($origin.val(), $destination.val());
});
上试用
答案 2 :(得分:0)
一般情况下,这可以帮助您:
示例:
function calcualteDistance(){
var origin = $("#origin").val();
var destination = $("#destination").val();
if(origin && destination) {
console.log("calculate");
}
}
$("#origin, #destination").change(calcualteDistance);