Ajax-da Onchange-ni qo'yish uchun HTML-ni qaytadan tanlash

Onex() ni ajaxda o'zimning shaklida qaytarilgan HTML-ga qo'yishda muammo bor.

Asosan menda tanlovda ishtirok etgan mijozlarim bor.


Va ba'zi bir mijozni tanlaganda, bu mijozga tayinlangan loyihalarni olish uchun Ajax-dan foydalaning.

$('#company').change(function() {                        
    var selectedProject = $("#company option:selected").val();
    $.ajax({
        type: "POST",
        url: "get_projects.php",
        data: { projects : selectedProject } 
    }).done(function(data){
        $("#response").html(data);
    });
});

Qaytib kelib tushdi

<div id="response"></div>

Get_projects.php uchun kod

<?php
include('inc.php');
if(isset($_POST["projects"])) {      
    $projects = $_POST["projects"];    
    $sqlget2 = "SELECT * FROM projects WHERE cid=\"$projects\" ORDER BY pname ASC;";        
    $resget2 = mysql_query($sqlget2);
    echo '';
 }
?>

Endi ajaxdan qaytarilgan htmlda o'zgarish funksiyasidan foydalanganda u ishlamaydi.

I tried to see the source code and found out that it is not there atall. It only shows the <div id="response"></div>

Lekin natijani forma bo'yicha ko'rib turibman, lekin manba kodidagi manbani ko'rmayapman.

Hence i thought that's why the Onchange() is not working for

0

6 javoblar

Kodni quyida ko'ring. Umid qilamanki bu yaxshi ishlaydi.

$(document).ready(function() {
    $(document).on('change', '#company', function() {
        var selectedProject = $("#company option:selected").val();
        $.ajax({
            type: "POST",
            url: "get_projects.php",
            data: { projects : selectedProject } 
        }).done(function(data){
        $("#response").html(data);
        });
    });
});
1
qo'shib qo'ydi

Nihoyat, masalani hal qildim.

Basicall i, faqat get_projects.php faylida '#projects' uchun Onclick() skriptini joylashtirdi.

Shuning uchun har safar ajaxdan kelgan har bir narsa ham javascriptni ham keltiradi.

0
qo'shib qo'ydi

Menimcha, Ajax-dan qaytadigan ma'lumotlar obyektdir Xom kontentni DIV ga joylashtirish uchun uni ajratib olishingiz kerak

0
qo'shib qo'ydi

Sinab ko'rilmadi, lekin u ishlashi kerak

<?php
include('inc.php');
if(isset($_POST["projects"]))
{
$projects = $_POST["projects"];    
$varOut = "";
$sqlget2 = "SELECT * FROM projects WHERE cid=\"$projects\" ORDER BY pname ASC;";        
$resget2 = mysql_query($sqlget2);
$varOut .= '';
}
echo $varOut;
?>
0
qo'shib qo'ydi
Salom.
qo'shib qo'ydi muallif thowzif, manba

Agar siz ajaxdan foydalansangiz, siz DOM (brauzerlar ko'rinishi) ga keyingi html qismini qo'shasiz, chunki siz foydalanasiz. Onchange faqat brauzerda mavjud bo'lgan "#company" elementlariga qo'shiladi.

Html-ni qo'shgandan keyin inchangeni bog'lashingiz kerak. misol uchun:

$('#company').change(function() {        
    onCompanyChange()                
});

function onCompanyChange(){
    var selectedProject = $("#company option:selected").val();
    $.ajax({
        type: "POST",
        url: "get_projects.php",
        data: { projects : selectedProject } 
    }).done(function(data){
        $("#response").html(data);
        $('#company').change(function() {        
            onCompanyChange()                
        });
    });
}

YoKI

You can also use an on change, on change does wYoKIk with elements added later to to the dom. so this code wYoKIks with elements wich already exists and new added elements with fYoKI example ajax

$("#company").on("change",function(){
    console.log("change");
});
0
qo'shib qo'ydi
Rahmat Rikardo. Biroq, siz bunga qarshi emasligingizni qisqacha tushuntira olasizmi?
qo'shib qo'ydi muallif thowzif, manba
Html qo'shilganidan keyin onchangeni qanday bog'lay olaman?
qo'shib qo'ydi muallif thowzif, manba
Bu yaxshimi?
qo'shib qo'ydi muallif Ricardo van Laarhoven, manba
html qo'shilgandan keyin onchange uchun qo'shimcha bir misol qo'shdim
qo'shib qo'ydi muallif Ricardo van Laarhoven, manba

Agar sahifaga dinamik ravishda qo'shilsa, JavaScript-ni PHP orqali qo'shgan boshqaruvlari haqida bilmaydi.

Quyidagi kabi yangi qo'shilgan tekshiruvni topishga harakat qilib ko'ring:

var select = document.getElementById('project');

Keyin o'zgarmaydigan usulni yoqishingiz kerak

0
qo'shib qo'ydi
Onchang() ni 'select' o'zgaruvchiga qanday bog'lash mumkin?
qo'shib qo'ydi muallif thowzif, manba
Men bunga o'xshash biror narsa qilishimga majbur bo'lganimdan beri bir muncha vaqt bo'ldi, lekin buni qila olaman deb ishonaman: var select = document.getElementById ('project'); select.onchange (function() {// kod bu erga kiradi});
qo'shib qo'ydi muallif ltw1991, manba
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb

PhP |BotsUz
PhP |BotsUz
93 ishtirokchilar

Phpni o'rganishni Hohlasangiz https://t.me/joinchat/AAAAAE-KRc5dd5tPMmGmWA A'zo bo'lin