3

これが私のコードです:

<body>
<div align="center">
<b>A<input type="checkbox" name="a" id="check" value="a"></b>
<b>B<input type="checkbox" name="b" id="check" value="a"></b>
<b>B<input type="checkbox" name="c" id="check" value="c"></b>
<b>D<input type="checkbox" name="d" id="check" value="d"></b>
</div>
<table align="center">
<tr>
<td>Text:</td>
<td><input type="text" name="text" id="text"></td>
</tr>
</table>
</body>

私はそれを試みています:(複数の)チェックボックスが選択されている(またはチェックされている)場合、その値は「abcd」または「acd」または「bd」のようなチェックボックスに割り当てられます。そのために私はjQueryを書きました

<script type="text/javascript">
$(document).click(function(){
if($("#check").attr('checked')){
    $("#text").val(("#check").val());
}
});
</script>

一度に 1 つの txtbox 値を出力できますが、一度にすべてのチェック済みの値をテキストボックスに入れることはできません。どこが間違っているのでしょうか??どんな入力でも大歓迎です。

4

5 に答える 5

3

私はあなたを正しく理解していないかもしれませんが、このフィドルはあなたを助けますか?http://jsfiddle.net/XwGJ9/1/

変更はjavascriptです:

var $textInput = $('#text');
var $checkBox = $('#checkboxes');

$('input').click(function(){
    populateTextInput();
});

function populateTextInput () {
    // empty text input
    $textInput.val('');

    // print out all checked inputs
    $checkBox.find('input:checked').each(function() {
        $textInput.val( $textInput.val() + $(this).val() );
    });
}

編集:更新

于 2012-07-31T08:07:09.823 に答える
3

このコードを使用

$('.check').click(function(){
    $("#text").val('');
    $(".check").each(function(){
        if($(this).prop('checked')){

            $("#text").val($("#text").val()+$(this).val());
        }
    });
});​

</p>

この HTML を使用 ( abcdclassの代わりに使用)id

<div align="center">
<b>A<input type="checkbox" name="a" class="check" value="a"></b>
<b>B<input type="checkbox" name="b" class="check" value="b"></b>
<b>B<input type="checkbox" name="c" class="check" value="c"></b>
<b>D<input type="checkbox" name="d" class="check" value="d"></b>
</div>
<table align="center">
<tr>
<td>Text:</td>
<td><input type="text" name="text" id="text"></td>
</tr>
</table>​

また、代わりに CSS を使用することをお勧めします。align="center"

ライブで実行中のデモを見る

于 2012-07-31T08:13:05.697 に答える
1

一度にa、b、c、dの倍数が必要ない場合は、onclickはチェックボックスごとです

        var boxes = $("input:checkbox");
        boxes.each(function(idx,elem){
                elem.onclick=function(event){
                    var choices = "";
                    boxes.each(function(idx,elem){
                        choices += elem.checked ? elem.name:"";
                    });
                    $('#text').val(choices);
                }
        });
于 2012-07-31T09:49:52.350 に答える
1

このようなものを使用していました..あなたを助けるかもしれません

var checkeditems = $('input:checkbox[name="check[]"]:checked')
                          .map(function() {
                                return $(this).val()
                           })
                            .get()
                            .join(","); 

 $("#text").val(checkeditems);
于 2012-07-31T08:11:22.097 に答える
1

したがって、テキストボックスに値をまとめて追加したいと思います。その場合は、次のようにします。

<script type="text/javascript">
$(document).click(function(){
if($("#check").attr('checked')){
    var textBoxVal = $("#text").val()+$("#check").val(); // Concatenate the existing textbox value with the checkbox value.
    // Load the resulting value into new var textBoxVal.
    $("#text").val(textBoxVal); // Load the new value into the textbox.
}
});
</script>

ネイティブ JS を使用したのは、自分が何をしているのかを明確にするためだけです。

于 2012-07-31T08:08:00.787 に答える