Сумма инпутов
Как в result2 составить сумму инпут, возле которых отмечены чекбоксы?
<input type="checkbox" name="n1" value="1" id="n1" /><input type="text" name="f1" id="f1" value="100"><br /> <input type="checkbox" name="n2" value="2" id="n2" /><input type="text" name="f2" id="f2" value="30"><br /> <input type="checkbox" name="n3" value="3" id="n3" /><input type="text" name="f3" id="f3" value="60"><br /> <input type="checkbox" name="n4" value="4" id="n4" /><input type="text" name="f4" id="f4" value="50"><br /> <input id="result"><input id="result2">
<script>
$("input").click(function() {
var sum = 0;
$("input:checked").each(function(){
sum+= +$(this).val();
});
$('#result').val(sum);
});
</script>
|
<input type="checkbox" name="n1" value="1" id="n1" /><input type="text" name="f1" id="f1" value="100"><br />
<input type="checkbox" name="n2" value="2" id="n2" /><input type="text" name="f2" id="f2" value="30"><br />
<input type="checkbox" name="n3" value="3" id="n3" /><input type="text" name="f3" id="f3" value="60"><br />
<input type="checkbox" name="n4" value="4" id="n4" /><input type="text" name="f4" id="f4" value="50"><br />
<input id="result"><input id="result2">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$("input").click(function() {
var sum = 0, sum2 = 0;
$("input:checked").each(function(){
sum+= +$(this).val();
sum2 += +$(this).next().val();
});
$('#result').val(sum);
$('#result2').val(sum2);
});
</script>
|
Dilettante_Pro,
спасибо большое, еще одно, между инпутами есть спан, можно сделать чтобы при клике по спану, отмечался чекбокс?
<input type="checkbox" name="n1" value="1" id="n1" /><span>100</span><input type="hidden" name="f1" id="f1" value="100"><br />
<input type="checkbox" name="n2" value="2" id="n2" /><span>30</span><input type="hidden" name="f2" id="f2" value="30"><br />
<input type="checkbox" name="n3" value="3" id="n3" /><span>60</span><input type="hidden" name="f3" id="f3" value="60"><br />
<input type="checkbox" name="n4" value="4" id="n4" /><span>50</span><input type="hidden" name="f4" id="f4" value="50"><br />
<input id="result"><input id="result2">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$("input").click(function() {
var sum = 0, sum2 = 0;
$("input:checked").each(function(){
sum+= +$(this).val();
sum2 += +$(this).next().next().val();
});
$('#result').val(sum);
$('#result2').val(sum2);
});
</script>
|
Sav2907,
а может, лишнее убрать?
<label><input type="checkbox" name="n1" value="1" id="n1" />100</label><br />
<label><input type="checkbox" name="n2" value="2" id="n2" />30</label><br />
<label><input type="checkbox" name="n3" value="3" id="n3" />60</label><br />
<label><input type="checkbox" name="n4" value="4" id="n4" />50</label><br />
<input id="result"><input id="result2">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$("input").click(function() {
var sum = 0, sum2 = 0;
$("input:checked").each(function(){
sum+= +$(this).val();
sum2 += +$(this).parent().text();
});
$('#result').val(sum);
$('#result2').val(sum2);
});
</script>
|
Dilettante_Pro,
Спасибо, а если это таблица, можно по клику tr?
<table style="width: 300px; background: #E6E6E6;">
<tr><td><label><input type="checkbox" name="n1" value="1" id="n1" />100</label></td></tr>
<tr><td><label><input type="checkbox" name="n2" value="2" id="n2" />30</label></td></tr>
<tr><td><label><input type="checkbox" name="n3" value="3" id="n3" />60</label></td></tr>
<tr><td><label><input type="checkbox" name="n4" value="4" id="n4" />50</label></td></tr>
</table>
<input id="result"><input id="result2">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$("input").click(function() {
var sum = 0, sum2 = 0;
$("input:checked").each(function(){
sum+= +$(this).val();
sum2 += +$(this).parent().text();
});
$('#result').val(sum);
$('#result2').val(sum2);
});
</script>
|
Еще что придумаете?
<table border="1" style="width: 300px; background: #E6E6E6;">
<tr><td><label><input type="checkbox" name="n1" value="1" id="n1" />100</label></td></tr>
<tr><td><label><input type="checkbox" name="n2" value="2" id="n2" />30</label></td></tr>
<tr><td><label><input type="checkbox" name="n3" value="3" id="n3" />60</label></td></tr>
<tr><td><label><input type="checkbox" name="n4" value="4" id="n4" />50</label></td></tr>
</table>
<input id="result"><input id="result2">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$('tr').click(function() {
$(this).find('input').click();
});
$("label").click(function(event) {
event.stopPropagation();
});
$("input").click(function(event) {
event.stopPropagation();
var sum = 0, sum2 = 0;
$("input:checked").each(function(){
sum+= +$(this).val();
sum2 += +$(this).parent().text();
});
$('#result').val(sum);
$('#result2').val(sum2);
});
</script>
|
Dilettante_Pro,
это все, спасибо |
Dilettante_Pro,
почему не так?
<table border="1" style="width: 300px; background: #E6E6E6;">
<tr><td><label><input type="checkbox" name="n1" value="1" id="n1" />100</label></td></tr>
<tr><td><label><input type="checkbox" name="n2" value="2" id="n2" />30</label></td></tr>
<tr><td><label><input type="checkbox" name="n3" value="3" id="n3" />60</label></td></tr>
<tr><td><label><input type="checkbox" name="n4" value="4" id="n4" />50</label></td></tr>
</table>
<input id="result"><input id="result2">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$('tr').click(function() {
$(this).find('input').click();
});
$("input").click(function() {
var sum = 0, sum2 = 0;
$("input:checked").each(function(){
sum+= +$(this).val();
sum2 += +$(this).parent().text();
});
$('#result').val(sum);
$('#result2').val(sum2);
});
</script>
|
Sav2907,
Цитата:
(точнее, работает, но дважды - из-за всплывания события. Поэтому выбор срабатывает и отменяется) |
| Часовой пояс GMT +3, время: 06:00. |