#javascript #jquery
#javascript #jquery
Вопрос:
Вот мой код jquery->
<script type="text/javascript">
$(document).ready(function(){
var countPos=0;
var add_button=$('#add_position');
var wrapper=$('#position_fields');
window.console amp;amp; console.log('Document ready called');
$(add_button).click(function(event){
// http://api.jquery.com/event.preventdefault/
event.preventDefault();
if ( countPos >=9 ) {
alert("Maximum of nine position entries exceeded");
return;
}
countPos ;
window.console amp;amp; console.log("Adding position " countPos);
$(wrapper).append(
'<div id="position' countPos '">
<p>Year: <input type="text" name="year' countPos '" value="" />
<input type="button" value="-"
onclick="$('#position' countPos '').remove();return false;"></p>
<textarea name="desc' countPos '" rows="8" cols="80"></textarea>
</div>');
});
});
</script>
В приведенном выше коде я хочу добавить оператор if перед $(add_button).click(функция(событие)[Когда пользователь нажмет на кнопку добавить, эта функция события будет работать]. Теперь я хочу добавить ‘else’, если это условие пойдет не так. Возможно ли это сделать?
Я пробовал таким образом->
//here I add a If statement with this object
if($(add_button).click(function(event))){
// http://api.jquery.com/event.preventdefault/
event.preventDefault();
if ( countPos >=9 ) {
alert("Maximum of nine position entries exceeded");
return;
}
countPos ;
window.console amp;amp; console.log("Adding position " countPos);
$(wrapper).append(
'<div id="position' countPos '">
<p>Year: <input type="text" name="year' countPos '" value="" />
<input type="button" value="-"
onclick="$('#position' countPos '').remove();return false;"></p>
<textarea name="desc' countPos '" rows="8" cols="80"></textarea>
</div>');
});
else{
'<div id="position' countPos '">
<p>Year: <input type="text" name="year' countPos '" value="" />
<input type="button" value="-"
onclick="$('#position' countPos '').remove();return false;"></p>
<textarea name="desc' countPos '" rows="8" cols="80"></textarea>
</div>'
}
Но этот код не работает. Как я могу перейти к месту назначения?
Комментарии:
1. Можете ли вы объяснить, что вы пытаетесь сделать, поместив
.click()
обработчик внутрьif
? «Если пользователь нажимает иначе, сделайте что-нибудь еще» не имеет особого смысла в приложении, управляемом событиями. Вы упомянули «если это условие пойдет не так» — каково условие? Вы хотите проверить, существует лиadd_button
?2. Нет, сэр, я не хочу проверять, есть ли add_button или нет. Я хочу проверить, нажмет ли пользователь на кнопку добавить, тогда функция сгенерирует два динамических поля ввода. Если пользователь не нажимает на кнопку добавить, я также хочу показать то же динамическое поле ввода, которое я объявил в .click().@freedomn-m
3. Итак, зачем нужен блок else?. Вы можете задать вопрос. Я хочу добавить некоторые дополнительные функции в блок else, сэр.
4. Проблема в том, когда должен выполняться код, предназначенный для «если пользователь не нажимает». Они не могут щелкнуть мгновенно, поэтому они могут нажать кнопку через минуту, через 10 минут. В какой момент вы хотите перейти «они не щелкнули, поэтому я покажу входные данные»?
5. Выглядит так: при загрузке отображаются некоторые входные данные, когда пользователь нажимает добавить другой ввод. Просто удалите
if(..)
оболочку (сохраните событие),else{
(и соответствующие}
ему), и у вас будет то, что вы хотите.