Выберите поле, вызывающее jquery события щелчка другого элемента - PullRequest
0 голосов
/ 04 февраля 2010

У меня есть div на моей странице, который скрыт: AddSupplier, у меня есть кнопка на моей странице, которая должна показывать div, если он не виден, но эта же кнопка сохраняет некоторые вещи, если div виден.Таким образом, все это работает, но в этом элементе AddSupplier есть поле выбора «ddSupplierTypes», и когда щелкает поле выбора, вызывается событие нажатия AddSupplierButton, почему это так, и есть ли обходной путь?

Резервуары для любой помощи.

<% @ Page Language = "C #"%>

    $().ready(function() {
        $('#AddSupplier').hide();

        $('[id$=AddSupplierButton]').click(function() {
            if ($('#AddSupplier').is(':visible')) {
                //do this
                alert('event fired');
            }
            else {
                //do that
                $('#AddSupplier').show();

            }

            return false;
        });
    });

</script> </head> <body>
<form id="form1" runat="server">
<div id="wrapper">
<asp:ImageButton ID="AddSupplierButton" runat="server" Height="18px" 
ImageUrl="~/images/add.png" 
OnClientClick="return(false);"/>
</div>
<div id="AddSupplier">
    <select id="ddSupplierTypes">
    <option value="S">ss</option>
    <option value="F">kk</option>
    <option value="W">oo</option>
    <option value="P">ii</option>
    </select>
</div>
</form> 

Ответы [ 2 ]

0 голосов
/ 05 февраля 2010

Я попытался упростить приведенный выше код, но забыл упомянуть, что я работаю с мастер-страницами.Итак, на моей главной странице я получил этот элемент управления изображениями

<asp:ImageButton ID="AddVerskaffer" OnClientClick="return(false);"/>

, когда я вызываю jQuery как '[id$=AddSupplierButton]', потому что главная страница меняет имя элемента управления на некоторый длинный идентификатор.

Теперь я заменил кнопку изображения asp на обычную ссылку

<a id="AddVerskaffer" href="javascript:void(0);"  ></a>

, и теперь она работает.При нажатии на поле выбора событие не срабатывает.

Как вы думаете, почему это происходит?

0 голосов
/ 04 февраля 2010

я предлагаю

if( $('#elemet').is(':visible') ) { do this }
   else { do that }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...