Strona główna forum Wsparcie Szablony Magento... Problem z JQuery

Problem z JQuery

Forum poświęcone projektowaniu layout'ów dla Magento...

Post 20 paź 2010, o 23:02

Posty: 27
Gadu-Gadu: 0

Witam
chciałem przebudować uzupełnianie formularza atrybutów przy produkcie konfigurowalnym
w jquery przygotowałem takie coś:
<a onclick="$('#select1').val('1');$('#select2').val('1');">A1</a>
<a onclick="$('#select1').val('1');$('#select2').val('2');">A2</a>
<a onclick="$('#select1').val('2');$('#select2').val('1');">B1</a>
<a onclick="$('#select1').val('2');$('#select2').val('3');">B3</a>
<a onclick="$('#select1').val('3');$('#select2').val('2');">C2</a>
<div>
    <select id="select1">
        <option value="">Select</option>
        <option value="1">A</option>
        <option value="2">B</option>
        <option value="3">C</option>
    </select>
    <select id="select2">
        <option value="">Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
</div>

druga wersja
<a href="#" class="select_size" id="1-1-3">A1|||</a><br/>
<a href="#" class="select_size" id="1-2-1">A2|</a><br/>
<a href="#" class="select_size" id="2-1-1">B1|</a><br/>
<a href="#" class="select_size" id="2-3-3">B3|||</a><br/>
<a href="#" class="select_size" id="2-1-2">B1||</a><br/>
<a href="#" class="select_size" id="2-3-1">B3|</a>
<script type="text/javascript">
 $(".select_size").click(function(){
  var attributes = $(this).attr('id').split("-");
  $("#select1").val(attributes[0]);
  $("#select2").val(attributes[1]);
  $("#select3").val(attributes[2]);
 })
</script>
<div>
    <select id="select1">
        <option value="">Select</option>
        <option value="1">A</option>
        <option value="2">B</option>
        <option value="3">C</option>
    </select>
    <select id="select2">
        <option value="">Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
    <select id="select3">
        <option value="">Select</option>
        <option value="1">|</option>
        <option value="2">||</option>
        <option value="3">|||</option>
    </select>
</div>

po wklejeniu tego (na żywca) do magento i kliknięciu którąkolwiek opcję otrzymuję komunikat:
$("#select1") is null

?? co to ??
dodam że to moje pierwsze coś w jquery

Problem z JQuery

PostTeraz jest 23 lis 2024, o 18:15
Google

Posty: 427
Lokalizacja: Internet

Post 21 paź 2010, o 09:30

Posty: 1575
Gadu-Gadu: 0

zamiast $ używaj jQuery np: jQuery("#select1")
hosting-magento.pl / magentohosting.eu - szybki hosting Magento
https://www.mage24.pl/ - twój sklep Magento 2 w 5 minut

Post 21 paź 2010, o 10:38

Posty: 27
Gadu-Gadu: 0

działa dzięki wielkie :)

przy okazji zapytam:
jeżeli przy produkcie konfigurowalnym mam więcej niż jedną opcję wyboru, gdzie szukać kodu odpowiedzialnego za włączanie kolejnych pól wyboru? wydaje mi się że aktualnie jest to zdażenie click, ja chciałbym przełączyć na change

Jeżeli ktoś kiedyś chciałby skorzystać ...
<a class="select_size" onclick="fselect('select1-1-select2-1-select3-3');">A1|||</a><br/>
<a class="select_size" onclick="fselect('select1-1-select2-2-select3-1');">A2|</a><br/>
<a class="select_size" onclick="fselect('select1-2-select2-1-select3-1');">B1|</a><br/>
<a class="select_size" onclick="fselect('select1-2-select2-3-select3-3');">B3|||</a><br/>
<a class="select_size" onclick="fselect('select1-2-select2-1-select3-2');">B1||</a><br/>
<a class="select_size" onclick="fselect('select1-2-select2-3-select3-1');">B3|</a>
<script type="text/javascript">
 function fselect(args) {
  var att = args.split('-');
  for (i=0; i<=att.length; i++) {
   $('#' + att[i]).val(att[++i]);
  }
 }
</script>
<div>
    <select id="select1">
        <option value="">Select</option>
        <option value="1">A</option>
        <option value="2">B</option>
        <option value="3">C</option>
    </select>
    <select id="select2">
        <option value="">Select</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
    <select id="select3">
        <option value="">Select</option>
        <option value="1">|</option>
        <option value="2">||</option>
        <option value="3">|||</option>
    </select>
</div>

Post 21 paź 2010, o 11:18

Posty: 1575
Gadu-Gadu: 0

chyba gdzieś w js/varien/product.js
hosting-magento.pl / magentohosting.eu - szybki hosting Magento
https://www.mage24.pl/ - twój sklep Magento 2 w 5 minut

Post 22 paź 2010, o 10:17

Posty: 27
Gadu-Gadu: 0

ciągle brak pomysłu, ustawienie disabled=false na kolejnym elemencie nie jest problemem, ale kolejny element jest przebudowywany po zdarzeniu change, tak więc problem nadal pozostaje. Może ktoś ma pomysł jak po zmianie wartość przez jquery wywołać zdarzenie change, lub odwołać się do funkcji w product.js


Powrót do Szablony Magento...



cron