0

次のように、非表示の入力フィールドを持つ Web フォームがあります。

<input id="requiredFields" name="requiredFields" type="hidden" value="firstname,lastname,email,phone">

,location次のようにjQueryを使用して、特定の条件に基づいて「 」を追加および削除したい:

$('input[name="locationstatus"]:radio').on("change", function() {
    if ($('input[name="locationstatus"]:radio:checked').val() == 'Yes') {
        /* need syntax to append text ',location' to #requiredFields string */
    }
    else {
        /* need syntax to remove text ',location' from #requiredFields string */
    }
});

ありがとう

4

3 に答える 3

3

jQuery を使用し.val()て値を更新するrequiredFields

$('input[name="locationstatus"]:radio').on("change", function() {
    if ($('input[name="locationstatus"]:radio:checked').val() == 'Yes') {
        $('#requiredFields').val($('#requiredFields').val() + ',location');
    }
    else {
        $('#requiredFields').val($('#requiredFields').val().replace(',location',''));
    }
});
于 2013-05-08T18:15:02.070 に答える
0

文字列の一部を追加/削除しようとするのではなく、他の文字列がないと仮定して、文字列全体を置き換える方がおそらく簡単で高速です。その場合、より堅牢なソリューションを提供できます。

$('input[name="locationstatus"]:radio').on("change", function() {
    if ($('input[name="locationstatus"]:radio:checked').val() == 'Yes') {
        /* need syntax to append ',location' to #requiredFields */
        $('#requiredFields').val('firstname,lastname,email,phone,location');
    }
    else {
        /* need syntax to remove ',location' from #requiredFields */
        $('#requiredFields').val('firstname,lastname,email,phone');
    }
});
于 2013-05-08T18:16:10.970 に答える
0

最後に場所を追加したい場合は、.val()メソッドを使用できます。また、要素の値を設定することもできます。

 $('input[name="locationstatus"]:radio').on("change", function() {
   if ($('input[name="locationstatus"]:radio:checked').val() == 'Yes') {
      var prev = $("#requiredFields").val();
      $("#requiredFields").val(prev + ',location');
   }
   else {
    var newText = $("#requiredFields").val().replace(',location', '');
    $("#requiredFields").val(newText);
   }
 });
于 2013-05-08T18:17:29.757 に答える