我有以下表格:
<select name="Country" id="select2-basic" tabindex="1" class="span7">
<option value="All Countries">All Countries</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Aland Islands">Aland Islands</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Turkmenistan">Turkmenistan</option>
<option value="UK">United Kingdom</option>
<option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
<option value="Tuvalu">Tuvalu</option>
<option value="Uganda">Uganda</option>
<option value="Ukraine">Ukraine</option>
<option value="United Arab Emirates">United Arab Emirates</option>
<option value="United Kingdom">United Kingdom</option>
<option value="United States">United States</option>
<option value="United States Minor Outlying Islands">United States Minor Outlying Islands</option>
</select>
<select name="Quantity" id="select3-basic" tabindex="1" class="span1">
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
</select>
<input class="span1" readonly type="text" name="Visitors" value="">
<input class="span1" readonly type="text" name="Price" value="">
现在我不是jquery专家,所以我需要帮助才能使这个工作。我有以下国家价格:
美国:15美元 英国:30美元 所有其他国家:15美元我想做的是:
我也将花费新国家的新价格,所以我需要一些可以在JS或JQuery中轻松更改/添加的东西。
非常感谢你们!
答案 0 :(得分:2)
使用.change()
事件非常简单。您还应该使用value
属性来指定每个国家/地区的号码(例如:美国值为15)
//Quantity
$("#select3-basic").change(function() {
var value = parseInt(this.value);
value = value * 1000;
$('input[name="Visitors"]').val(value);
});
//Country (change values to be the number to multiply!
$("#select2-basic").change(function() {
var countryVal = parseInt($(this).data("quantity"));
quantityVal = parseInt($("#select3-basic").val()),
value = countryVal * quantityVal;
$("input[name=Price]").val(value);
});
答案 1 :(得分:1)
这应该适合你:
var quantity;
$("select[name='Quantity']").on('change',function(){
quantity = parseInt(this.value);
$("input[name='Visitos']").val(quantity*1000);
});
$("select[name='Country']").on('change',function(){
if(typeof quantity!="undefined" && quantity!=null){
var priceVal = this.value=="United Kingdom"?30*quantity : 15*quantity;
$("input[name='Visitos']").val(priceVal);
}
});
if(typeof quantity!="undefined" && quantity!=null)
条件将检查是否已选择数量。
以下是.val()&amp;上的一些信息。上面使用的.on()方法来自Jquery docs。
编辑:
你可以改变
$("input[name='Visitos']").val(priceVal);
到
$("input[name='Visitos']").val("$"+priceVal);
如果你想用 $ 符号
答案 2 :(得分:1)
你可以试试这个
$(function(){
var prices = { 'United States':15, 'United Kingdom':30 };
$('#select2-basic, #select3-basic').on('change', function(){
if(this.name == 'Quantity'){
$('input[name="Visitors"]').val(+this.value*1000);
$('input[name="Price"]')
.val(prices[$('#select2-basic').val()] ? (prices[$('#select2-basic').val()]*this.value) : (15*this.value));
}
else if(this.name == 'Country'){
$('input[name="Price"]')
.val(prices[this.value] ? (prices[this.value]*$('#select3-basic').val()) : (15*$('#select3-basic').val()));
}
});
}).trigger('change'); // updated on request
DEMOS:jdFiddle或jsBin,updated demo。