我有10个文本字段用于数值。每个都有一个复选框。如果选中该复选框,则在文本字段中输入的值必须转换为负值,然后保存在数据库中。如果再次检查,它应该变为正数。
<td><input type="text" name="or" class="num" maxlength="5" ?>" id="or"/>db</td>
<td><input type="text" name="or2" class="num" maxlength="5" />db</td>
<td><input type="text" name="or4" class="num" maxlength="5" />db</td>
<td><input type="text" name="or8" class="num" maxlength="5" />db</td>
<td><input type="text" name="or5" class="num" maxlength="5" />db</td>
每个文本框的复选框
<td>-<input type="checkbox" name="orneg1 " class="check1" id="org" /></td>
<td>-<input type="checkbox" name="org2" class="check2" /></td>
<td>-<input type="checkbox" name="org4" class="check3" /></td>
<td>-<input type="checkbox" name="org8" class="check4" /></td>
<td>-<input type="checkbox" name="org5" class="check5" /></td>
答案 0 :(得分:1)
这可行:
$('input[type=checkbox]').each(function(i){
if ($(this).attr('checked') == 'checked') {
var inputText = $('input[type=text]:eq('+i+')');
var inputValue = parseInt(inputText.val(),10);
if (inputValue > 0) {
inputValue = '-'+inputValue;
} else {
inputValue = (-1) * inputValue;
}
inputText.attr('value', inputValue);
}
});
答案 1 :(得分:0)
这里有两件不同的事情:
首先,您要在复选框上的onClick上添加行为。使用jQuery处理它应该没问题。在onClick clabback中,如果选中该复选框,则只需将相关输入文本的值设置为-value。否则你将它设置为abs(值)
然后,您正在谈论在数据库中保存satte。为此,您需要使用ajax调用将输入值作为键/值对传输到服务器。
我猜你现在可以自己处理代码,因为你知道该怎么做:)
答案 2 :(得分:0)
工作示例演示 http://jsfiddle.net/SQSMK/
我建议您同时查看Jquery isNan
和isNumeric
api,
休息此演示应该有所帮助::)
P.S。 - 我希望你有table
和tr
标签,我在下面的html中添加了一些小调整。
<强>码强>
$('input[type="checkbox"]').click(function() {
if ($(this).is(':checked')) {
$('input[type="text"][name="' + $(this).prop('name') + '"]').val(-$('input[type="text"][name="' + $(this).prop('name') + '"]').val());
} else {
$('input[type="text"][name="' + $(this).prop('name') + '"]').val(-parseInt($('input[type="text"][name="' + $(this).prop('name') + '"]').val()));
}
});
<强> HTML 强>
<table>
<tr>
<td><input type="text" name="or1" class="num" maxlength="5" id="or"/>db</td>
<td><input type="text" name="or2" class="num" maxlength="5" />db</td>
<td><input type="text" name="or4" class="num" maxlength="5" />db</td>
<td><input type="text" name="or8" class="num" maxlength="5" />db</td>
<td><input type="text" name="or5" class="num" maxlength="5" />db</td>
</tr>
<tr>
<td>-<input type="checkbox" name="or1" class="check1" id="org"/></td>
<td>-<input type="checkbox" name="or2" class="check2" /></td>
<td>-<input type="checkbox" name="or3" class="check3" /></td>
<td>-<input type="checkbox" name="or8" class="check4" /></td>
<td>-<input type="checkbox" name="or5" class="check5" /></td>
</tr>
</table