мышь, введите мышь, оставьте справку для большого массива информации - PullRequest
1 голос
/ 22 декабря 2011

Я бы тоже хотел установить ссылку для каждого штата и каждого города. когда штат Ли завис над, я только хочу, чтобы это штаты показывали города .... но я знаю только немного кода JQuery и я не идеален для понимания селекторов, Я не уверен, как использовать функцию .each jquery .... пожалуйста, помогите !!!! php код:

<?
$everything = array(
        'states'=>array(
            'Alabama'=>array('Birmingham,Montgomery,Mobile,Huntsville,Tuscaloosa'),
            'Alaska'=>array('Anchorage,Juneau,Fairbanks,Sitka,Ketchikan'),
            'Arizona'=>array('Phoenix,Tuscon,Mesa,Glendale,Scottsdale'),
            'Arkansas'=>array('Little Rock,Fort Smith,North Little Rock,Fayetteville,Jonesboro'),

        )
);
$id = md5(0);
$controll = 0;
$here = md5('states');
echo "<div id=\"9090\"><ol id=\"selectable\">";
    foreach($everything['states'] as $state=>$city){
    $citys = explode(',',$city[0]);
    echo    "<li class=\"ui-state-default\"><a class=\"contr\" href=\"#\">$state</a> <div class=\"citys\">";
        foreach($citys as $key=>$x){
            echo "<a href=\"#\">$x</a><br>";    
        }
    "</div></li>";
    }

echo "</ol></div>";
?>

JQuery:

    <script>

        $(function() {
            $( "#selectable" ).selectable();
        });
        $('.ui-state-default').mouseenter(function(e) {
// here when i hover over this state all citys show i just want the cities for this sate
            $('.citys').toggle();
        }).mouseleave(function(e) {
// here when i leave  this state li all theese citites should leave
            $('.citys').toggle();
        });;

    </script>

Ответы [ 2 ]

1 голос
/ 22 декабря 2011

Вам нужно добавить контекст при поиске городов, например: $('.citys', this).toggle();
При этом будет искать .citys элементы, расположенные внутри this, который в данном случае является элементом .ui-state-default, находящимся на поверхности.

        $('.ui-state-default').mouseenter(function(e) {
            $('.citys', this).toggle(); // added this 
        }).mouseleave(function(e) {
            $('.citys', this).toggle(); // added this 
        });

Посмотрите, как использовать параметр контекста в http://api.jquery.com/jquery/#jQuery1


В качестве альтернативы вы можете использовать .find()

$(this).find('.citys').toggle();
0 голосов
/ 22 декабря 2011

Вам не нужен JavaScript для этого. Посмотрите "css: hover" ... все это может быть обработано таблицами стилей.

...