0

数値用のテキストフィールドが10個あります。それぞれに1つのチェックボックスがあります。チェックボックスがオンになっている場合、テキストフィールドに入力された値は負の値に変換されてから、データベースに保存される必要があります。もう一度チェックすると、正になるはずです。

<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>
4

3 に答える 3

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);
   } 
});
于 2012-07-10T07:43:53.557 に答える
0

ここには2つの異なるものがあります:

  • まず、チェックボックスのonClickに動作を追加します。jQueryを使用すると、これを処理するのに問題はありません。onClickクラブバックでは、チェックボックスがオンになっている場合、関連する入力テキストの値を-valueに設定するだけです。それ以外の場合は、abs(value)に設定します

  • 次に、データベースに衛星を保存することについて話します。そのためには、入力値をキーと値のペアとしてサーバーに転送するajax呼び出しを使用する必要があります。

何をすべきかがわかったので、自分でコードを処理できると思います:)

于 2012-07-10T07:39:35.360 に答える
0

実際のサンプル デモ http://jsfiddle.net/SQSMK/

JqueryisNanisNumericAPIについても調べることをお勧めします。

このデモが役立つはずです::)

Ps -以下の html に微調整を加えたtableとタグがあることを願っています。tr

コード

$('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​
于 2012-07-10T07:45:41.017 に答える