Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Ask. masalh autoCompliete dan changeValue

Siang Sense" sekalian...

Mau tanya sensei, saya buat inputan mengunakan autocomplete(sebelum nya mengunakan ChangeValue saat pilih combo box text pcodename langsung berumah sesuai pcode yang telah di pilih), masalah nya setelah saya otakatik sampe mentok cuma ketemu cara pakek autocomplete nya di pcode sama pcodename, pertanyaan nya sense.. bagai mana caranya saat saya pilih pcode pcodename nya berubah sesuai code yang di pilih dengan pengunakan autocomplete.

berikut scrip nya
codepad.org/cwAOqNbu

Scrip data.php
codepad.org/Did0kZAj

Scrip data1.php
codepad.org/nGpxIS5B

mohon pencerahan nya sense. atau keyword apa yang harus saya cari di google..

Comments

  • edited March 27
    maksud elo ...
    1 autocomplete buat update isi 2 field yg berbeda ?

    kalo iya ...
    return elo harus dalam bentuk array of object
    [ { label: "Choice1", value: "value1" }, ... ]
    http://api.jqueryui.com/autocomplete/#option-source

    tapi itu secara default :
    - yg ditampilkan di pilihan itu "label" nya
    - yg diisikan ke field nya itu "value" nya

    jadi elo harus merubah default nya
    - yg diisikan ke field tetap "label" nya
    - sementara yg diisikan ke field yg lain "value" nya
    elo bisa lakukan di event select() buat mengubah behaviour default itu
    http://api.jqueryui.com/autocomplete/#event-select



    atau elo bisa ikutin cara yg di sini :
    http://www.tutorialspark.com/jqueryUI/jQuery_UI_AutoComplete_Events.php

    pake 2 array
    1 array tetap array 1 dimensi buat autocomplete nya
    1 lagi array utk nilai field yg lainnya
    http://www.tutorialspark.com/jqueryUI/jQuery_UI_AutoComplete_Overridding_Default_Select_Action.php

    tapi sama, itu juga pake event select() nya autocomplete
  • kalo di bikin gitu jadi panjang ke samping sense?
    ahh pusing,,,
    sense"
    gini" kalo misal nya pilihan codenya di browse muncul popup nah dari popup itu isi nya code list,terus saya klik datanya masuk tuh di main form code sama nama code nya..

    itu namanya apa yah sense model nya..?
  • edited March 27
    mau elo kaya apa to sebenernya ?

    apa kaya begini ?
    https://jsfiddle.net/4xfq9tod/

    lebih panjang gimana ?

    [a]
    kalo cara yg pake array of object ...
    elo cuma butuh mengubah response dari ajax elo
    ini lebih sederhana

    btw, response ajax elo sebenernya sudah array of object
    tapi isinya ...
    yg 1 [ { value: "...", projectID: "...", ... }, ... ] ...
    tinggal ubah "value" jadi "label", lalu definisikan "value" baru buat nilai field yg lain

    yg 1 lagi ... [ { value: "...", dscription: "...", ... }, ... ] ...
    sama aja ...
    tinggal ubah "value" jadi "label", lalu definisikan "value" baru buat nilai field yg lain

    dan sebenernya, nilai yg elo mau itu juga sudah elo kirim, soalnya elo pake $row.
    dan $row itu isinya juga semua field yg ada di table elo, elo kan pake SELECT *
    dan elo juga pake fetch_array(), itu ndak cuma index string doang yg ada, index numerik nya juga ngikut.

    elo tinggal bikin event select() doang di autocomplete nya

    misal yg elo pake autocomplete yg ini :

    $("#txtpcode").autocomplete({
    source:"data.php",
    minLength:1,
    });

    tinggal elo ubah :

    $("#txtpcode").autocomplete({
    source:"data.php",
    minLength:1,
    select: function (event, ui) {
    $("#pcodename").val(ui.item.dscription);
    }
    });

    itu 2 field langsung bersamaan berubah nilainya.
    yg "#txtpcode" isinya "value" nya
    yg "#pcodename" isinya "dscription" nya

    mau response ajax nya elo ubah juga boleh.
    mau elo tambah htmlentities() stripslashes() lagi juga ndak masalah



    [b]
    kalo pake yg 2 array ...
    elo mesti bikin 2 array nya, bisa pake sekali request lalu elo split
    lebih panjang alurnya
  • iya senseee kaya gitu... sumpahhh sense gw tuh butaa kalo kamsalah javascrip sama jquery.. butuh waktu buat mahamii...
    bentar sensee saya pahami dulu scrip yg tadi di kasih...

    sense tapi kalo conect ke table bentuk nya jadi kaya apa sense ?

    #mencobamemahami
  • baca baik-baik yg gw tulis, sudah ada semua
  • curanggg di editt.... okee senseeee.. saya pahami
    #mencobamemahami
  • edited March 27
    lhah ?
    salah sendiri ndak di F5

    apa mau reply gw dihapus aja ?
  • :D ampun sense.. masih belum potong" scrip nya sensee bingung nambahin value nya di data.php...

  • contoh nya gimana senseii sumpah kepikirannn dari tadi malem,,,

  • edited April 15
    gini lho ...
    pahami dulu model data elo


    [1]
    elo punya table, dari yg gw baca dari query elo :

    $qstring="SELECT * FROM mk_project WHERE projectID LIKE '".$term."%'";
    $row['value']=htmlentities(stripslashes($row['projectID']));
    $row['projectID']=(int)$row['projectID'];

    $qstring="SELECT * FROM mk_project WHERE dscription LIKE '".$term."%'";
    $row['value']=htmlentities(stripslashes($row['dscription']));
    $row['dscription']=(int)$row['dscription'];

    minimal di table "mk_project" itu ada 2 field
    "projectID" dan "dscription"

    buat contoh, gw anggap aja dah table elo isinya 3 field
    ID | projectID | dscription
    1 | 1000 | "aaa"
    2 | 1001 | "bbb"
    3 | 1002 | "ccc"


    [2]
    elo pake mysql_fetch_array() buat ambil record,

    elo bisa testing sendiri hasilnya
    itu hasilnya kira-kira jadi kaya begini :

    array (
    'ID' => 1,
    0 => 1,
    'projectID' => 1000,
    1 => 1000,
    'dscription' => "aaa",
    2 => "aaa"
    )

    index asosiatif nya ada : 'ID', 'projectID', 'dscription'
    index numerik nya juga ada : 0, 1, 2
    isinya sama

    beda cerita kalo elo pake
    mysql_fetch_assoc() -> hasilnya cuma ada index asosiatif
    mysql_fetch_row() -> hasilnya cuma ada index numerik


    [3]
    gw ambil contoh koding elo yg "data.php" ini :

    $qstring="SELECT * FROM mk_project WHERE projectID LIKE '".$term."%'";
    ...
    $row['value']=htmlentities(stripslashes($row['projectID']));
    $row['projectID']=(int)$row['projectID'];

    hasil mysql_fetch_array() elo ini :

    array (
    'ID' => 1,
    0 => 1,
    'projectID' => 1000,
    1 => 1000,
    'dscription' => "aaa",
    2 => "aaa"
    )

    hasil dari $row['value']=htmlentities(stripslashes($row['projectID']));,
    array elo berubah jadi ini :

    array (
    'ID' => 1,
    0 => 1,
    'projectID' => 1000,
    1 => 1000,
    'dscription' => "aaa",
    2 => "aaa",
    'value' => 1000
    )

    [4]
    $row_set[]=$row;

    elo tampung semua di $row_set, kira-kira jadinya spt ini :

    array ( 'ID' => 1, 0 => 1, 'projectID' => 1000, 1 => 1000, 'dscription' => "aaa", 2 => "aaa", 'value' => 1000 ),
    array ( 'ID' => 2, 0 => 2, 'projectID' => 1001, 1 => 1001, 'dscription' => "bbb", 2 => "bbb", 'value' => 1001 ),
    array ( 'ID' => 3, 0 => 3, 'projectID' => 1002, 1 => 1002, 'dscription' => "ccc", 2 => "ccc", 'value' => 1002 )


    echo json_encode($row_set);

    lalu elo jadikan json, lalu elo echo

    itu kira-kira, ajax elo yg memanggil script itu bakal dapat json kaya begini :

    [
    {"ID":1,"0":1,"projectID":1000,"1":1000,"dscription":"aaa","2":"aaa","value":1000},
    {"ID":2,"0":2,"projectID":1001,"1":1001,"dscription":"bbb","2":"bbb","value":1001},
    {"ID":3,"0":3,"projectID":1002,"1":1002,"dscription":"ccc","2":"ccc","value":1002}
    ]

    ajax elo bakal terima

    "projectID":1000
    "dscription":"aaa"
    "value":1000

    ada semua


    [5]
    karena elo butuh value dari 2 field itu, buat update isi input text yg berbeda
    ya tinggal dipake saja

    makanya gw tunjukin koding ini :
    labalaba said:

    elo tinggal bikin event select() doang di autocomplete nya

    misal yg elo pake autocomplete yg ini :

    $("#txtpcode").autocomplete({
    source:"data.php",
    minLength:1,
    });

    tinggal elo ubah :

    $("#txtpcode").autocomplete({
    source:"data.php",
    minLength:1,
    select: function (event, ui) {
    $("#pcodename").val(ui.item.dscription);
    }

    });

    itu 2 field langsung bersamaan berubah nilainya.
    yg "#txtpcode" isinya "value" nya
    yg "#pcodename" isinya "dscription" nya

    mau response ajax nya elo ubah juga boleh.
    mau elo tambah htmlentities() stripslashes() lagi juga ndak masalah

    yg ini : $("#txtpcode").autocomplete({...});
    bakal mengisi "#txtpcode" dgn "value":1000

    yg ini : $("#pcodename").val(ui.item.dscription);
    bakal mengisi "#pcodename" dgn "dscription":"aaa"


    sudah kan, lengkap
    ndak ada yg perlu elo ubah dari alur elo
    cuma perlu ubah dikit

    $("#txtpcode").autocomplete({
    source:"data.php",
    minLength:1,
    select: function (event, ui) {
    $("#pcodename").val(ui.item.dscription);
    }

    });


    kalo autocomplete yg satunya ndak dipake ya dihapus saja
    cukup pake 1 autocomplete buat update 2 input text
  • HUUUUUUUUUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    gilaaa saya mikir sampe 2 minggu..... teryata cuma di tambahin select: function(event,ui){} astagaaa

    kemarennn kirain harus nulis scrip untuk array nya .. gila mikirr sampe butekk...

    SENSEEE ARIGATOOUU......
    :D

    maap kalo saya bego nya kebangetann :s
Sign In or Register to comment.