jquery получить родителя и обратится к элементу внутри по class
прошу помощи :)
1) как кликая по span получить ответ , получить номер/имя родителя и загрузить ответ внутрь в <div class='otvet'> ? 2) как правильно сделать функцию z_click , чтобы в зависимости от nomer/номера было разное поле data ? код можно менять (элементы можно называть по разному
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
function z0_click(){
$.ajax({
type: "POST",
url: "test.php",
data: "sid=0&z0f1="+$('#z0f1').val()+"&z0f2="+$('#z0f2').val(),
success: function(response){
$('#z0').html(response);
}
});
};
/* нужно сделать несколько массивов data и подставлять их допустим <div class='otvet'>
// код заккомментировал, т.к. не рабочий
function z_click(nomer){ // или function z_click(){ - если брать номер родителя div
$.ajax({
type: "POST",
url: "test.php",
data:
// data: "sid=1&z1f1="+$('#z1f1').val()+"&z1a1="+$('#z1a1').val(), // исходная строка, но нам нужно несколько таких (в зависимости от вопроса)
if(nomer='1') {return "\"sid=1&z1f1=\"+$('#z1f1').val()+\"&z1a1=\"+$('#z1a1').val(),"};
else if(nomer='2') {return "sid=2&z2f1="+$('#z2f1').val()+"&z2a1="+$('#z3a1').val(),};
else if(nomer='3'){return "sid=3&z3f1="+$('#z3f1').val()+"&z3a1="+$('#z3a1').val(),};
success: function(response){
$('#otvet').html(response); // как правильно , чтобы выводился в нужный нам div class='otvet' (в зависимости от вопроса) ??
}
});
};
*/
</script>
<? header("Content-Type: text/html; charset=windows-1251");
if($_POST['sid']=="0") {$a=$_POST[z0f1]+$_POST[z0f2]; echo " Сумма ".$a;}
elseif ($_POST['sid']=="1") {fz1();}
elseif ($_POST['sid']=="2") {fz2();}
elseif ($_POST['sid']=="3") {fz3();}
else {fz4();};
function fz1(){if($_POST[z1f1]>$_POST[z1f2]) {echo 'да' ;} else {echo 'нет';}; };
function fz2() {$a=$_POST[z2f1]*$_POST[z1f2]; echo " Ответ2 ".$a; };
function fz3() {$a=$_POST[z3f1]/$_POST[z3f2]; echo " Ответ3 ".$a; };
function fz4() {
?>
<body>
<div id="0">вопрос 0: <input size="1" type="text" id="z0f1" value="5"> прибавить <input size="1" type="text" id="z0f2" value="7">
<span onclick="z0_click(); return false;">получить ответ</span>
<div id="z0"></div><hr>
</div>
<div name='why1'>вопрос 1: <input size="1" type="text" id="z1f1" value="5"> больше <input size="1" type="text" id="z1f2" value="7">
<span onclick="z_click(1); return false;">получить ответ</span>
<div class='otvet'></div>
</div>
<div name='why2'>вопрос 2: <input size="1" type="text" id="z2f1" value="5"> Умножить <input size="1" type="text" id="z2f2" value="7">
<span onclick="z_click(2); return false;">получить ответ</span>
<div class='otvet'></div>
</div>
<div name='why3'>вопрос 3: <input size="1" type="text" id="z3f1" value="5"> Поделить <input size="1" type="text" id="z3f2" value="7">
<span onclick="z_click(3); return false;">получить ответ</span>
<div class='otvet'></div>
</div>
</body>
<?
};
?>
|
Вы опубликовали очень много кода.
Пожалуйста, локализуйте проблему! Выделите фрагмент кода, по которому есть вопрос и опубликуйте его отдельно. И, по возможности, уберите из кода мусор, чтобы нам легче было сориентироваться и помочь решить вашу проблему. Спасибо. P.S. код форматируют специальные теги [ js ] ... [/js], [ html ] ... [/html] и другие аналогичные, сам. http://javascript.ru/formatting |
Получить родителя и найти в нем элемент по классу:
$(".elem").parent().find(".childClass")
|
$('#z0').html(response);
это строка вставки в <div id="z0"> при клике на <span onclick="z_click(); return false;">получить ответкак изменить эту строку JS , чтобы вставлялось в class=otvet (родитель div общий) <div name='why1'>...<span onclick="z_click(); return false;">ответ</span><div class='otvet'></div></div> |
<span onclick="z_click(); return false;">ответ</span> - зачем return false?
|
Цитата:
z_click() {$('.this').parent().find(".otvet").html('ответ');}
при клике получить родителя текущего элемента и в дочерний элемент с класс otvet вставить текст<div name='why1'>...<span onclick="z_click();">ответ</span><div class='otvet'></div></div> |
_Eldar_,
на всякий у дива нет намы
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
function z_click(el) {$(el).parent().find(".otvet").html('ответ');}
</script>
</head>
<body> <div name='why1'>...<span onclick="z_click(this);">ответ</span><div class='otvet'></div></div>
</body>
</html>
|
| Часовой пояс GMT +3, время: 05:10. |