$(document).ready(function () {
$('#mySelect').change(function () {
$('option').each(function () {
var item = $('#mySelect').val();
var price = $('#price').text();
$('#paid-price').html(item * price);
});
});
});
<tr>
<td>@item.Name</td>
<td>
<select id="mySelect">
<option>0.5</option>
<option>1</option>
<option>1.5</option>
<option>2</option>
</select>
</td>
<td id="price">
@item.Price
</td>
<td id="paid-price">
</td>
</tr>
不明白$('option').each(function () {的意义...
$('#mySelect').val();是获得当前下拉框的值,一个change事件中是一定的啊..
哦,你有很多行,每行都有个id为mySelect的下拉框?id不能一样啊,你给下拉框设置不同的id吧,比如mySelect+行号
去掉这个也没法实现 $('#mySelect').val();只能绑定到第一个下拉列表
@sweetcode:
你可以这么写
$(document).ready(function () { $("select").each(function (index) { $(this).bind("change", sl_change); }); }); function sl_change(event) { $(event.target).parent().next().next().html($(event.target).parent().next().text() * $(event.target).val()); }