Есть несколько кнопок с одинаковыми атрибутами (класс, тип, значение и т. Д.), Которые могут «указывать» на родительский DIV при вызове? - PullRequest
1 голос
/ 22 июля 2010

У меня возникли проблемы с выяснением этого.Я хочу сделать так, чтобы я мог поместить кнопку в число различных DIV s, но иметь всю информацию для кнопки одинаковой (класс, тип, значение и т. Д.), Это потому, что это editКнопка для DIV, так что это просто что-то, что автоматически включается в любой новый созданный DIV, и мое приложение на стороне сервера будет генерировать эти кнопки автоматически.Таким образом, проблема заключается в том, как получить идентификатор родительского DIV, и у меня возникают некоторые проблемы с этим, так как кажется, что он всегда по умолчанию равен DIV upd1, даже когда я нажимаю кнопку, содержащуюся в upd2, я искална этом, но все, что я нашел до сих пор, не вывело меня из этой проблемы.

<div id="upd1">
    <input id= "button" class="button" type="submit" value="Click to edit this Panel" /> 
</div>

<div id="upd2">
    <input id= "button"  class="button" type="submit" value="Click to edit this Panel" /> 
</div>

then I have:

$("#button").click(function() {
    dividediting = $("#button").closest("div[id^='upd']").attr("id");
    alert(dividediting);
}); 

Ответы [ 3 ]

3 голосов
/ 22 июля 2010

Попробуйте это:

$(".button").click(function() { 
   var dividediting = $(this).parent().attr('id');
   alert(dividediting); 
});  

Вы не можете иметь два элемента с одинаковым id - вы должны использовать класс не одинаковый id на каждой кнопке.

0 голосов
/ 22 июля 2010

во-первых, почему вы используете $("#button") я не увидел ни одной id = "button" в вашей DOM, во-вторых, вы можете использовать эту

var dividediting = $(".button").parent().attr("id");
alert(dividediting);
0 голосов
/ 22 июля 2010

Вместо этого вам нужен .class селектор для ваших кнопок, например:

$(".button").click(function() {
    dividediting = $(this).closest("div[id^='upd']").attr("id");
    alert(dividediting);
}); 

#button - это #ID селектор , который ищетдля id="button" вместо class="button", как вы хотите.Также вам нужен $(this) внутри обработчика, так что вы получаете ближайший <div> элемент , на который нажали , а не первый соответствующий элемент .button.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...