我有一个多选菜单,如下:
public void addUser(User user) {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(user);
tx.commit();
} catch (Exception e) {
if (tx != null) tx.rollback();
Logger.saveToLogFile(e, this.getClass().getName());
} finally {
session.close();
}
}
我想根据数据费用而不是用户选择的值进行计算,因此如果用户同时选择了Starter和Bronze,则ID为的值ammountToPayField'将是25,但是如果他们认为他们只想要青铜,那么'ammountToPayField'中的值将只有15但是看了一会儿我只能找到输入字段和不是多重选择字段。
答案 0 :(得分:2)
试试这个:
$('#syndicate_group').change(function() {
var sum = $(this).find(':checked')
.map(function() { return parseInt($(this).data('cost'), 10); })
.get()
.reduce(function(x, y) { return x + y; });
$('#ammountToPayField').val(sum);
});
请参阅Fiddle
答案 1 :(得分:0)
试试这个:
$("#syndicate_group").change(function () {
var sum = 0;
$("select option:selected").each(function() {
sum += parseInt($(this).text());
});
$( "#ammountToPayField" ).text( sum ); }).change();