5

ショッピング カートのチェックアウト ページがあり、「ギフト」オプションを追加しようとしています。必要なこと: 「注文をギフトとして送信」のチェックボックスが選択されたら、非表示の入力フィールドに値を割り当てて、情報が確認ページとさまざまなレシートに移動されるようにする必要があります。

HTML:

<h3>Send Order As Gift</h3>
<ul>
    <li class="fc_row fc_gift"><label for="gift" class="fc_pre">This is a gift, 
    please do not include a receipt.</label>
    <input type="checkbox" name="gift" id="gift" class="checkbox" value="" />
    <input type="hidden" name="Gift" id="gift-true" value="" /></li>
    <script type="text/javascript">
    $(document).ready(function(){
        $("#gift-true").input( $('#edit-checkbox-id').is(':checked').val() + "Yes"); 
    });​                
    </script>
    </li>
    <li class="fc_row fc_gift_message"><label for="Gift Message">Include a message 
    (limit 100 characters):</label>
    <textarea name="Gift Message" cols="50" rows="3" maxlength="100"></textarea>
    </li>
</ul>
4

4 に答える 4

11

チェックボックスが変更されるたびに、非表示フィールドを更新する必要があります。

$(function(){
    $('#gift').change(function() {
        $("#gift-true").val(($(this).is(':checked')) ? "yes" : "no");
    });
});
于 2012-08-15T20:18:38.707 に答える
1

jQuery.val()を使用して、input 要素の値を設定します。jquery.is()trueはブール値を返すため、 (以下のようなステートメントまたは三項演算子を使用して) そうであるかどうかを確認しif、条件付きで値を更新する必要があります。また、ボックスが選択/選択解除されるたびに、この値を更新する必要があります。

$(document).ready(function(){
    $('#edit-checkbox-id').change(function() {
        $("#gift-true").val( this.checked ? "Yes" : "" );
    }
});​

また、チェックボックスが次の場合:

<input type="checkbox" name="gift" id="gift" class="checkbox" value="" />

適切な id-selector は$('#gift')であり、$('#edit-checkbox-id')

于 2012-08-15T20:12:25.237 に答える
0

$('#edit-checkbox-id').is(':checked')チェックボックスの状態に基づいてブール値 true/false を返します。valしたがって、それを条件として使用し、 jQuery メソッドを使用して値を設定するものを決定する必要があります。これを試して。

$("#gift-true").val( $('#edit-checkbox-id').is(':checked') ? "Yes": "No" ); 
于 2012-08-15T20:16:22.380 に答える
0

たとえば、CSS Pseudo-classe を使用できます。

var checked=$('input[id="#gift-true"]:checked').length;
var isTrue=false;
if(checked)
    isTrue=true;
else
    isTrue=false;
于 2012-08-15T20:26:11.773 に答える