javascript - document.getElementById('').title;
 
werky 23. sep 2013 11:49:09 Pridružen od:
16. apr 2012
787 objav
796 168 26
#1

Zdravo,



Imam foreach zanko za prikaz izdelkov (skupaj jih prikaže 12 na stran). Vmes je tudi ta povezava:


<a href="#" id="title" title="{$product.company_id|fn_get_company_name}" onclick="showDiv()">{$product.company_id|fn_get_company_name}<br /></a>

Nato pa v js funkciji naredim tole:


function showDiv() {
document.getElementById('dobavitelj').style.display = "block";
var url = document.getElementById('title').title;

$("#testt").text(url);

}

Vse dela ok in prav, lepo prikaže izbrani div, a title od href linka pa vedno pokaže le od prvega generiranega. Recimo dobavitelji so 1,2,3,4,...In ob kliku na posamezno številko(dobavitelja) vedno pokaže v div-u testt le številko 1, se pravi prvega generiranega...



Bi znal kdo svetovati kako dobiti te podatke? Ali pa kak drug način, kako lahko dobim title od posameznega, kliknjenega linka?



Hvala za pomoč


všeč(0) ni všeč(0) spam(0)
 
s1l3 23. sep 2013 12:08:07 Pridružen od:
6. jun 2012
345 objav
320 60 1
#2

Ne me za besedo držat samo mislim, da je problem ker mora biti samo en element z enakim id-jem, drugače HTML ni valid. Verjetno zato tudi getElementById dela tako, da vrne samo en element. Poglej spodnjo povezavo.



StackOverflow



Lahko probaš takole:



HTML:


<a href="#" class="title" title="{$product.company_id|fn_get_company_name}" >{$product.company_id|fn_get_company_name}</a><br />

JS:


$('.title').click(function(){
var self = $(this),
url = self.attr('title');

$("#testt").text(url);

return false;
})

Poglej, če je to kar si mislil:

Fiddle


všeč(2) ni všeč(0) spam(0)
 
werky 23. sep 2013 12:12:21 Pridružen od:
16. apr 2012
787 objav
796 168 26
#3

Hmmm...zanimivo!, probam pa javim.



Hvala!


všeč(0) ni všeč(0) spam(0)
 
werky 23. sep 2013 12:22:01 Pridružen od:
16. apr 2012
787 objav
796 168 26
#4

Nop...na fiddlu je ok, in dela, pri meni ne(še)....hmmm



Res nimam pojam :(


všeč(0) ni všeč(0) spam(0)
 
s1l3 23. sep 2013 12:26:34 Pridružen od:
6. jun 2012
345 objav
320 60 1
#5

A ti v konzli javi kakšno napako. Lahko prilepiš generiran source, mogoče bo kaj več jasno. Verjetno je čist simpl napaka nekje.


všeč(0) ni všeč(0) spam(0)
 
werky 23. sep 2013 12:35:56 Pridružen od:
16. apr 2012
787 objav
796 168 26
#6

Ok, takole je:

Soure od izdelkov (ne cel...samo foreach)

{foreach from=$products item=product key=key name="products"}

{capture name="captoptionsvsqty"}{/capture}

{hook name="products:product
block"}

{assign var="objid" value=$product.productid}

{assign var="objidprefix" value="$obj_prefix$product.product_id"}

{include file="commontemplates/productdata.tpl" product=$product min_qty=true}



<div class="product-container list clearfix">

{assign var="formopen" value="formopen`$objid`"}

{$smarty.capture.$formopen}

{if $bulk
addition}

<div class="float-right">

<input class="cm-item" type="checkbox" id="bulk_addition_{$obj_prefix}{$product.product_id}" name="product_data[{$product.product_id}][amount]" value="{if $js_product_var}{$product.product_id}{else}1{/if}" {if ($product.zero_price_action == "R" && $product.price == 0)}disabled="disabled"{/if} />

</div>

{/if}

{assign var="currenturl" value=$config.currenturl|urlencode}

<div class="float-left product-item-image center">

<span class="cm-reload-{$obj_prefix}{$obj_id} image-reload" id="list_image_update_{$obj_prefix}{$obj_id}">


            <a id="opener_product_picker_{$product.product_id}" class="cm-dialog-opener cm-dialog-auto-size" rev="product_quick_view_{$product.product_id}" href="{"products.quick_view?product_id=`$product.product_id`&prev_url=`$current_url`"|fn_url}">
<input type="hidden" name="image[link]" value="{"products.view?product_id=`$product.product_id`"|fn_url}" />


<input type="hidden" name="image[list_image_update_{$obj_prefix}{$obj_id}][data]" value="{$obj_id_prefix},{$settings.Thumbnails.product_lists_thumbnail_width},{$settings.Thumbnails.product_lists_thumbnail_height},product" />
{include file="common_templates/image.tpl" image_width=$settings.Thumbnails.product_lists_thumbnail_width obj_id=$obj_id_prefix images=$product.main_pair object_type="product" show_thumbnail="Y" image_height=$settings.Thumbnails.product_lists_thumbnail_height}


</a>
{include file="views/products/components/quick_view_link2.tpl"}
<!--list_image_update_{$obj_prefix}{$obj_id}--></span>

{assign var="rating" value="rating_$obj_id"}
{$smarty.capture.$rating}
</div>

{$smarty.get.page}

<div class="product-info2">

<div class="desno">

{if $jsproductvar}

<input type="hidden" id="product_{$obj_prefix}{$product.product_id}" value="{$product.product}" />

{/if}

{if $itemnumber == "Y"}<strong>{$smarty.foreach.products.iteration}. </strong>{/if}

{assign var="name" value="name
$objid"}

<a id="opener
productpicker{$product.productid}" class="cm-dialog-opener cm-dialog-auto-size" rev="productquickview{$product.productid}" href="{"products.quickview?productid=`$product.productid&prev_url=$currenturl`"|fnurl}"><h2 style="font-size:17px; font-weight:bold;"><div class="velika">{$product.product}</div>{if $product.litri == 0.00}{assign var="teza" value=$product.weight1000}{if $teza > 900}{$product.weight|number_format:2:",":"."} Kg{elseif $teza == 0}{else} {$teza} g{/if}{else}{assign var="litra" value=$product.litri1000}{if $litra > 500}{$product.litri|numberformat:2:",":"."} l{elseif $litra == 0}{else} {$litra} ml{/if}{/if}<!--, pakiranje: {if $product.qtystep == 0}1 kos{else} {$product.qtystep} {if $product.qtystep == 1}kos{/if}{if $product.qtystep == 2} kosa{/if}{if $product.qtystep == 3} kosi{/if}{if $product.qtystep == 4} kosi{/if}{if $product.qtystep > 4} kosov{/if}{/if} --> </h2></a>

{if $product.znamka}<p class="sku">Blagovna znamka: {$product.znamka}</p>{/if}

{assign var=dobavitelj value=$product.companyid scope="global"}

<p class="sku">Dobavitelj: <a href="#" class="title" title="{$product.company
id|fngetcompanyname}" value="{$product.companyid}" onclick="showDiv()">{$product.companyid|fngetcompanyname}<br /></a></p>


     {assign var="i" value=$i+1}
{assign var="rating" value="rating_`$obj_id`"}{$smarty.capture.$rating}
{assign var="sku" value="sku_$obj_id"}{$smarty.capture.$sku}

{assign var="old_price" value="old_price_`$obj_id`"}
{if $product.alko != 0}<p class="sku">Vsebnost alkohola:&nbsp;{$product.alko|string_format:"%d"} &#37;</p>{/if}
{assign var="min_qty" value="min_qty_`$obj_id`"}

<p class="sku">Cena/kos:&nbsp;{assign var="price" value="price_`$obj_id`"}{if $smarty.capture.$old_price|trim}{$smarty.capture.$old_price}{/if}{$smarty.capture.$price}</p>
{$smarty.capture.$min_qty}
{assign var="qty" value="qty_`$obj_id`"}
{if $product.qty_content}
<div class="qty chabger">
<label for="product_data[{$obj_id}][amount]">Koli&#269;ina:</label>
<select name="product_data[{$obj_id}][amount]" id="qty_count_{$obj_prefix}{$obj_id}">
{assign var="a_name" value="product_amount_`$obj_prefix``$obj_id`"}
{assign var="selected_amount" value=true}
{foreach name="`$a_name`" from=$product.qty_content item="var"}
<option value="{$var}" {if $product.selected_amount && ($product.selected_amount == $var || ($smarty.foreach.$a_name.last && !$selected_amount))}{assign var="selected_amount" value=true}selected="selected"{/if}>{$var}</option>
{/foreach}
</select>
</div>
{else}
{$smarty.capture.$qty}
{/if}
{assign var="clean_price" value="clean_price_`$obj_id`"}
<h2 style="font-weight:bold;"><b>{assign var="price" value="price_`$obj_id`"}</b></h2>
{assign var="list_discount" value="list_discount_`$obj_id`"}
{assign var="discount_label" value="discount_label_`$obj_id`"}


<div class="{if $smarty.capture.$old_price|trim || $smarty.capture.$clean_price|trim || $smarty.capture.$list_discount|trim}prices-container {/if}price-wrap clearfix">
{if $smarty.capture.$old_price|trim || $smarty.capture.$clean_price|trim || $smarty.capture.$list_discount|trim}
<div class="float-left product-prices">

{/if}

{if !$smarty.capture.$old_price|trim || $details_page}<p class="actual-price">{/if}
{assign var=kolicina value=$product.min_qty}

{*{if $kolicina ==0}{assign var=cena value=$product.price*$product.qty_step}{else}{assign var=cena value=$product.price*$product.min_qty}{/if}{$cena|number_format:2:",":","}&nbsp;&euro;*}
{if !$smarty.capture.$old_price|trim || $details_page}</p>{/if}

{if $smarty.capture.$old_price|trim || $smarty.capture.$clean_price|trim || $smarty.capture.$list_discount|trim}
{$smarty.capture.$clean_price}
{$smarty.capture.$list_discount}
</div>
{/if}
{if $show_discount_label && $smarty.capture.$discount_label|trim}
<div class="float-left">
<br />
{$smarty.capture.$discount_label}
</div>
{/if}
</div>

{if $capture_options_vs_qty}{capture name="product_options"}{/if}

{assign var="product_amount" value="product_amount_`$obj_id`"}
{$smarty.capture.$product_amount}

{assign var="product_options" value="product_options_`$obj_id`"}
{$smarty.capture.$product_options}

{assign var="advanced_options" value="advanced_options_`$obj_id`"}
{$smarty.capture.$advanced_options}
{if $capture_options_vs_qty}{/capture}{/if}



{assign var="product_edp" value="product_edp_`$obj_id`"}
{$smarty.capture.$product_edp}

{if $capture_buttons}{capture name="buttons"}{/if}

<div class="buttons-container">

{if $show_details_button}
{include file="buttons/button.tpl" but_href="products.view?product_id=`$product.product_id`" but_text=$lang.view_details but_role="submit"}
{/if}

<div class="desno-1">

{assign var="addtocart" value="addtocart`$objid`"}

{$smarty.capture.$addtocart}


                {assign var="list_buttons" value="list_buttons_`$obj_id`"}
{$smarty.capture.$list_buttons}

</div>


            </div>
{if $capture_buttons}{/capture}{/if}

{assign var="form_close" value="form_close_`$obj_id`"}
{$smarty.capture.$form_close}

{if $show_product_tabs}
{include file="views/tabs/components/product_popup_tabs.tpl"}
{$smarty.capture.popupsbox_content}
{/if}
</div>
{if $bulk_addition}
<script type="text/javascript" class="cm-ajax-force">
//<![CDATA[
$(function(){$ldelim}
$('#opt_' + '{$obj_prefix}{$product.product_id}').switchAvailability(true, false);
{$rdelim});
//]]>
</script>
{/if}
{assign var="form_close" value="form_close_`$obj_id`"}
{$smarty.capture.$form_close}
</div>

</div>

{if !$smarty.foreach.products.last}

<hr />

{/if}

{/hook}

{/foreach}


všeč(0) ni všeč(0) spam(0)
 
werky 23. sep 2013 12:37:32 Pridružen od:
16. apr 2012
787 objav
796 168 26
#7

In pa še javascript:



function showDiv() {

document.getElementById('dobavitelj').style.display = "block";

}



$('.title').click(function(){


var self = $(this),
url = self.attr('title');

$("#testt").text(url);

return false;

})



Ter še div ki ga pokaže in znotraj tega div kjer naj bi izpisal title:



<div id="dobavitelj" style="display:none;">

<div class="product-container" id="testt">



</div>



</div>


všeč(0) ni všeč(0) spam(0)
 
werky 23. sep 2013 12:43:51 Pridružen od:
16. apr 2012
787 objav
796 168 26
#8

Evo, sedaj je takole, pokaže mi lepo div id=dobavitelj, a v id=testt ne doda ničesar...


všeč(0) ni všeč(0) spam(0)
 
tsu 23. sep 2013 12:44:14 Pridružen od:
16. jun 2008
351 objav
482 34 14
#9

A jQuery imaš includan? Glede na to, da si v prvem postu pisal native javascript, @s1l3 je pa prilepil jQuery kodo.


všeč(0) ni všeč(0) spam(0)
LinkedIn, @deveti, Si shell:aff link ;)
 
s1l3 23. sep 2013 12:45:14 Pridružen od:
6. jun 2012
345 objav
320 60 1
#10

Težko rečem, dejansko zgleda vse na prvi pogled ok. Poskusi počasi debugat. Prvo lahko probaš če se dejansko click funkcija izvede. V click funkcijo daj


console.log('klik");

in poglej v konzoli če ti izpiše kaj. Če je to OK, bi ti predlagal da vsako spremenljivko v funkciji logiraš v konzolo in vidiš kaj se zgodi.



To verjetno delaš lokalno, nimaš kakšne povezave da bi jo lahko delil


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se