1

I have this html page:

<div class="rigaEven">
                <div class="col1">
                    <p class="room">AULA B</p>
                    <p class="where">XXX</p>
                </div>
                <div class="col2 half">
                    <p class="when">09:00 - 11:00</p>
                </div>
                <div class="col3">
                     <p class="what">WHAT.</p>
                     <p class="type">Insegnamento</p>
                     <p class="who">PROF</p>
                </div>
            </div>

            <div class="rigaOdd">
              <div class="col1">
                    <p class="room">AULA WHAT</p>
                    <p class="where">XXX</p>
                </div>
                <div class="col2 half">
                    <p class="when">09:00 - 11:00</p>
                </div>
                <div class="col3">
                     <p class="what">KKK</p>
                     <p class="type">Insegnamento</p>
                     <p class="who">PROF</p>
                </div>
            </div>
            <div class="rigaEven">
                <div class="col1">
                    <p class="room">AULA MAGNA</p>
                    <p class="where">XXX</p>
                </div>
                <div class="col2 half">
                    <p class="when">09:00 - 11:00</p>
                </div>
                <div class="col3">
                     <p class="what">SSS</p>
                     <p class="type">Insegnamento</p>
                     <p class="who">PROF</p>
                </div>
            </div>
            <div class="rigaOdd">
              <div class="col1">
                    <p class="room">AULA D</p>
                    <p class="where">XXX</p>
                </div>
                <div class="col2 half">
                    <p class="when">09:00 - 13:00</p>
                </div>
                <div class="col3">
                     <p class="what">LAB</p>
                     <p class="type">Laboratorio</p>
                     <p class="who">PROF</p>
                </div>
            </div>

In my Android Activity I hide and show the div(rigaEven,rigaOdd) based on the value of p(class "what") this is method:

public String showActivity(String filter){
    return "javascript:(function(){" +
            "        $( \".rigaEven\").hide();" +
            "        $( \".rigaOdd\").hide();";+
            "        $( \".rigaEven:contains("+filter+")\" ).show();" +
                    "       $( \".rigaOdd:contains("+filter+")\" ).show();" +
                    "       $( \".what:contains("+filter+")\" ).show();"+
    "})()";
}

But if p class room and contains "AULA WHAT" p class also contains what it "WHAT" remain visible both, but I wish you could see only what was what containing the string passed in the hall, how could I do?

1 Answers1

0

Unfortunately, you can't do that (match exact content) with a selector, so you need to use the filter function. See e.g. this post.

For your rigaEven elements, for example, you would need:

$(".rigaEven").filter(
    function(){
        return "filter" === $(this).text();
    }
).show();

And of course it's great fun to encode that as a string. Here's an (unvalidated) attempt for that example:

"$(\".rigaEven\").filter(function(){return \"" + filter + "\" === $(this).text();}).show();"

I'll leave the rest of the conversion fun up to you. :-)

Community
  • 1
  • 1
GertG
  • 959
  • 1
  • 8
  • 21