1

Wordpress でフィールド ID を持つフォーム ビルダーを使用しています。特定のラジオボタンの選択が変更された場合、特定のチェックボックスをオフにする必要があります。ラジオ ボタンのフィールド ID は 180 です。チェックボックスのフィールド ID は 640 です。最初に試したのは次のとおりです。

<script type="text/javascript">
jQuery(document).ready(function($){
  $('input[name="item_meta[180]"]').change(function(){
    $('input[name="item_meta[640]"]').val('');
  })
})
</script>

このスクリプトは元々、メニューではなくドロップダウンの値を変更するために作成されたものであることに注意してください。コードに加えた唯一の変更は、3 行目の「select」を「input」に変更したことです。

私も変えてみました

.val(''); 

.attr('checked', false); 

そしてまた

.removeAttr('checked');

これらのどれも機能しません。ラジオボタンを変更しても、チェックボックスはオンのままです。誰にもアイデアはありますか?前もって感謝します!

更新: HTML で関連する 2 つのフォーム フィールドを次に示します。

<div id="frm_field_180_container" class="frm_form_field form-field  frm_required_field frm_top_container">
    <label  class="frm_primary_label">Pricing Categories
        <span class="frm_required">*</span>
    </label>
    <div class="frm_description">Select your meta-category then locate your entry fee in the subsequent dropdown.</div>
    <div class="frm_radio"><input type="radio" name="item_meta[180]" id="field_180-0" value="Independent Film &amp; Videos"   class="required" onclick="frmCheckDependent(this.value,'180')"/><label for="field_180-0">Independent Film & Videos</label></div>
    <div class="frm_radio"><input type="radio" name="item_meta[180]" id="field_180-1" value="Film / Video for TV &amp; Cable Production"   class="required" onclick="frmCheckDependent(this.value,'180')"/><label for="field_180-1">Film / Video for TV & Cable Production</label></div>
    <div class="frm_radio"><input type="radio" name="item_meta[180]" id="field_180-2" value="TV Ads, PSAs, Screenplays, New Media, Websites, etc."   class="required" onclick="frmCheckDependent(this.value,'180')"/><label for="field_180-2">TV Ads, PSAs, Screenplays, New Media, Websites, etc.</label></div>
    <div class="frm_radio"><input type="radio" name="item_meta[180]" id="field_180-3" value="Student Entry of Any Category (with 2 Additional Categories Free) - $45"   class="required" onclick="frmCheckDependent(this.value,'180')"/><label for="field_180-3">Student Entry of Any Category (with 2 Additional Categories Free) - $45</label></div>
</div>

<div id="frm_field_640_container" class="frm_form_field form-field  frm_top_container frm_last_third">
    <label class="frm_primary_label">Apply Early-Bird Discount
        <span class="frm_required"></span>
    </label>
    <div class="frm_opt_container"><div class="frm_checkbox" id="frm_checkbox_640-0"><input type="checkbox" name="item_meta[640][]" id="field_640-0" value="5"  /><label for="field_640-0">1-3 Categories: $5</label></div>
</div>
4

2 に答える 2

0

HTML と JQuery の間で、チェックボックスの名前が一致しません。. .

HTML

<input type="checkbox" name="item_meta[640][]" id="field_640-0" value="5"  />

ここで、 name 属性はitem_meta[640][]です。

JS

$('input[name="item_meta[640]"]').val('');

ここで、 name 属性はitem_meta[640]です。

そのため、セレクターがチェックボックスと一致しません。JQuery セレクターを に更新すると、正常に$('input[name="item_meta[640][]"]')動作するはずです。

Dave Thomas が指摘したように.prop('checked', false);、ボックスのチェックを外したほうがよいでしょう。

于 2013-07-30T17:26:39.523 に答える