ACF Select value adds class to div if value is not equal












0















I'm using ACF for the first time and struggling to get this to work. I've created a Select field with 2 options (This is controlled backend on the specific page)



<select id="acf-field_5bf80363f0c0f" class="" name="acf[field_5bf80363f0c0f]" data-ui="0" data-ajax="0" data-multiple="0" data-placeholder="Select" data-allow_null="0">
<option value="No Issues">No Issues</option>
<option value="Issues reported" selected="selected" data-i="0">Issues Reported</option>
</select>


What i would like to achive is that if selected option is not equal to No Issues, it would add a custom class (.Error) to the selected div with the id #ServiceStatus1 for example. I've attempted with my limited knowledge of jQuery but no joy.



Hope this makes sense, any advice is really appreciated.



<script type ="text/javascript">
$(function() {
$('#acf-field_5bf80363f0c0f').ready(function(){
$('.Error').hide();
$('#ServiceStatus1' + $('.Error').val() != 'No Issues').show();
});
});
</script>









share|improve this question



























    0















    I'm using ACF for the first time and struggling to get this to work. I've created a Select field with 2 options (This is controlled backend on the specific page)



    <select id="acf-field_5bf80363f0c0f" class="" name="acf[field_5bf80363f0c0f]" data-ui="0" data-ajax="0" data-multiple="0" data-placeholder="Select" data-allow_null="0">
    <option value="No Issues">No Issues</option>
    <option value="Issues reported" selected="selected" data-i="0">Issues Reported</option>
    </select>


    What i would like to achive is that if selected option is not equal to No Issues, it would add a custom class (.Error) to the selected div with the id #ServiceStatus1 for example. I've attempted with my limited knowledge of jQuery but no joy.



    Hope this makes sense, any advice is really appreciated.



    <script type ="text/javascript">
    $(function() {
    $('#acf-field_5bf80363f0c0f').ready(function(){
    $('.Error').hide();
    $('#ServiceStatus1' + $('.Error').val() != 'No Issues').show();
    });
    });
    </script>









    share|improve this question

























      0












      0








      0


      1






      I'm using ACF for the first time and struggling to get this to work. I've created a Select field with 2 options (This is controlled backend on the specific page)



      <select id="acf-field_5bf80363f0c0f" class="" name="acf[field_5bf80363f0c0f]" data-ui="0" data-ajax="0" data-multiple="0" data-placeholder="Select" data-allow_null="0">
      <option value="No Issues">No Issues</option>
      <option value="Issues reported" selected="selected" data-i="0">Issues Reported</option>
      </select>


      What i would like to achive is that if selected option is not equal to No Issues, it would add a custom class (.Error) to the selected div with the id #ServiceStatus1 for example. I've attempted with my limited knowledge of jQuery but no joy.



      Hope this makes sense, any advice is really appreciated.



      <script type ="text/javascript">
      $(function() {
      $('#acf-field_5bf80363f0c0f').ready(function(){
      $('.Error').hide();
      $('#ServiceStatus1' + $('.Error').val() != 'No Issues').show();
      });
      });
      </script>









      share|improve this question














      I'm using ACF for the first time and struggling to get this to work. I've created a Select field with 2 options (This is controlled backend on the specific page)



      <select id="acf-field_5bf80363f0c0f" class="" name="acf[field_5bf80363f0c0f]" data-ui="0" data-ajax="0" data-multiple="0" data-placeholder="Select" data-allow_null="0">
      <option value="No Issues">No Issues</option>
      <option value="Issues reported" selected="selected" data-i="0">Issues Reported</option>
      </select>


      What i would like to achive is that if selected option is not equal to No Issues, it would add a custom class (.Error) to the selected div with the id #ServiceStatus1 for example. I've attempted with my limited knowledge of jQuery but no joy.



      Hope this makes sense, any advice is really appreciated.



      <script type ="text/javascript">
      $(function() {
      $('#acf-field_5bf80363f0c0f').ready(function(){
      $('.Error').hide();
      $('#ServiceStatus1' + $('.Error').val() != 'No Issues').show();
      });
      });
      </script>






      javascript php jquery wordpress advanced-custom-fields






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 26 '18 at 17:17









      Anthony Cdf WhitefieldAnthony Cdf Whitefield

      286




      286
























          2 Answers
          2






          active

          oldest

          votes


















          0














          Your question and your code seem to be asking different questions...



          If you want to add/remove a class based on the value in the select, you could do:



          $(function() {

          function addServiceStatusClass(e){
          if($(this).val() != 'No Issues'){
          $('#ServiceStatus1').addClass('Error');
          }else{
          $('#ServiceStatus1').removeClass('Error');
          }
          }

          $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
          $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

          });


          Example:
          http://jsfiddle.net/m2o361th/2/



          But if all you want to do is show/hide #ServiceStatus1 based on the value, you can do:



          $(function() {

          function addServiceStatusClass(e){
          if($(this).val() != 'No Issues'){
          $('#ServiceStatus1').show();
          }else{
          $('#ServiceStatus1').hide();
          }
          }

          $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
          $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

          });


          Example:
          http://jsfiddle.net/m2o361th/3/



          Also as a reminder, if you're using the version of jQuery included with WordPress, you have to wrap your functions in a function mapped to jQuery:



          (function($){
          // contains one of the above functions...
          })( jQuery );





          share|improve this answer































            0














            Thank you so much for the above. I've tweaked your above code to factor in that the select field is backend and my div is frontend. The working code for this is...



            $(function() {

            function addServiceStatusClass(e){
            if($('#Multistream').text() != 'No Issues'){
            $('#ServiceStatus1').addClass('Error');
            }else{
            $('#ServiceStatus1').removeClass('Error');
            }
            }

            $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
            $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

            });
            })( jQuery );





            share|improve this answer























              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53486060%2facf-select-value-adds-class-to-div-if-value-is-not-equal%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              0














              Your question and your code seem to be asking different questions...



              If you want to add/remove a class based on the value in the select, you could do:



              $(function() {

              function addServiceStatusClass(e){
              if($(this).val() != 'No Issues'){
              $('#ServiceStatus1').addClass('Error');
              }else{
              $('#ServiceStatus1').removeClass('Error');
              }
              }

              $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
              $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

              });


              Example:
              http://jsfiddle.net/m2o361th/2/



              But if all you want to do is show/hide #ServiceStatus1 based on the value, you can do:



              $(function() {

              function addServiceStatusClass(e){
              if($(this).val() != 'No Issues'){
              $('#ServiceStatus1').show();
              }else{
              $('#ServiceStatus1').hide();
              }
              }

              $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
              $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

              });


              Example:
              http://jsfiddle.net/m2o361th/3/



              Also as a reminder, if you're using the version of jQuery included with WordPress, you have to wrap your functions in a function mapped to jQuery:



              (function($){
              // contains one of the above functions...
              })( jQuery );





              share|improve this answer




























                0














                Your question and your code seem to be asking different questions...



                If you want to add/remove a class based on the value in the select, you could do:



                $(function() {

                function addServiceStatusClass(e){
                if($(this).val() != 'No Issues'){
                $('#ServiceStatus1').addClass('Error');
                }else{
                $('#ServiceStatus1').removeClass('Error');
                }
                }

                $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                });


                Example:
                http://jsfiddle.net/m2o361th/2/



                But if all you want to do is show/hide #ServiceStatus1 based on the value, you can do:



                $(function() {

                function addServiceStatusClass(e){
                if($(this).val() != 'No Issues'){
                $('#ServiceStatus1').show();
                }else{
                $('#ServiceStatus1').hide();
                }
                }

                $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                });


                Example:
                http://jsfiddle.net/m2o361th/3/



                Also as a reminder, if you're using the version of jQuery included with WordPress, you have to wrap your functions in a function mapped to jQuery:



                (function($){
                // contains one of the above functions...
                })( jQuery );





                share|improve this answer


























                  0












                  0








                  0







                  Your question and your code seem to be asking different questions...



                  If you want to add/remove a class based on the value in the select, you could do:



                  $(function() {

                  function addServiceStatusClass(e){
                  if($(this).val() != 'No Issues'){
                  $('#ServiceStatus1').addClass('Error');
                  }else{
                  $('#ServiceStatus1').removeClass('Error');
                  }
                  }

                  $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                  $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                  });


                  Example:
                  http://jsfiddle.net/m2o361th/2/



                  But if all you want to do is show/hide #ServiceStatus1 based on the value, you can do:



                  $(function() {

                  function addServiceStatusClass(e){
                  if($(this).val() != 'No Issues'){
                  $('#ServiceStatus1').show();
                  }else{
                  $('#ServiceStatus1').hide();
                  }
                  }

                  $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                  $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                  });


                  Example:
                  http://jsfiddle.net/m2o361th/3/



                  Also as a reminder, if you're using the version of jQuery included with WordPress, you have to wrap your functions in a function mapped to jQuery:



                  (function($){
                  // contains one of the above functions...
                  })( jQuery );





                  share|improve this answer













                  Your question and your code seem to be asking different questions...



                  If you want to add/remove a class based on the value in the select, you could do:



                  $(function() {

                  function addServiceStatusClass(e){
                  if($(this).val() != 'No Issues'){
                  $('#ServiceStatus1').addClass('Error');
                  }else{
                  $('#ServiceStatus1').removeClass('Error');
                  }
                  }

                  $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                  $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                  });


                  Example:
                  http://jsfiddle.net/m2o361th/2/



                  But if all you want to do is show/hide #ServiceStatus1 based on the value, you can do:



                  $(function() {

                  function addServiceStatusClass(e){
                  if($(this).val() != 'No Issues'){
                  $('#ServiceStatus1').show();
                  }else{
                  $('#ServiceStatus1').hide();
                  }
                  }

                  $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                  $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                  });


                  Example:
                  http://jsfiddle.net/m2o361th/3/



                  Also as a reminder, if you're using the version of jQuery included with WordPress, you have to wrap your functions in a function mapped to jQuery:



                  (function($){
                  // contains one of the above functions...
                  })( jQuery );






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 27 '18 at 5:58









                  ShoelacedShoelaced

                  19211




                  19211

























                      0














                      Thank you so much for the above. I've tweaked your above code to factor in that the select field is backend and my div is frontend. The working code for this is...



                      $(function() {

                      function addServiceStatusClass(e){
                      if($('#Multistream').text() != 'No Issues'){
                      $('#ServiceStatus1').addClass('Error');
                      }else{
                      $('#ServiceStatus1').removeClass('Error');
                      }
                      }

                      $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                      $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                      });
                      })( jQuery );





                      share|improve this answer




























                        0














                        Thank you so much for the above. I've tweaked your above code to factor in that the select field is backend and my div is frontend. The working code for this is...



                        $(function() {

                        function addServiceStatusClass(e){
                        if($('#Multistream').text() != 'No Issues'){
                        $('#ServiceStatus1').addClass('Error');
                        }else{
                        $('#ServiceStatus1').removeClass('Error');
                        }
                        }

                        $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                        $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                        });
                        })( jQuery );





                        share|improve this answer


























                          0












                          0








                          0







                          Thank you so much for the above. I've tweaked your above code to factor in that the select field is backend and my div is frontend. The working code for this is...



                          $(function() {

                          function addServiceStatusClass(e){
                          if($('#Multistream').text() != 'No Issues'){
                          $('#ServiceStatus1').addClass('Error');
                          }else{
                          $('#ServiceStatus1').removeClass('Error');
                          }
                          }

                          $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                          $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                          });
                          })( jQuery );





                          share|improve this answer













                          Thank you so much for the above. I've tweaked your above code to factor in that the select field is backend and my div is frontend. The working code for this is...



                          $(function() {

                          function addServiceStatusClass(e){
                          if($('#Multistream').text() != 'No Issues'){
                          $('#ServiceStatus1').addClass('Error');
                          }else{
                          $('#ServiceStatus1').removeClass('Error');
                          }
                          }

                          $('#acf-field_5bf80363f0c0f').ready(addServiceStatusClass);
                          $('#acf-field_5bf80363f0c0f').change(addServiceStatusClass);

                          });
                          })( jQuery );






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 27 '18 at 20:31









                          Anthony Cdf WhitefieldAnthony Cdf Whitefield

                          286




                          286






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53486060%2facf-select-value-adds-class-to-div-if-value-is-not-equal%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

                              Calculate evaluation metrics using cross_val_predict sklearn

                              Insert data from modal to MySQL (multiple modal on website)