Mitik Popovici
Mitik Popovici

Reputation: 17

doesn't show select option in chrome

I have a problem with my site. I have a select menu and 3 options: images, video and audio. When I click one of the options it should display a button to pick out the image/video/audio to upload, but this doesn't display in Google Chrome. In Firefox there is no problem with this. Does anyone have a solution for this?
Thanks very much!

EDIT:

This is the code

<select name="service_id">
<option value="video" onClick="showSection('video',['image','audio']);" <?=count($videos)?'selected="selected"':''?>>Video</option>
<option value="image" onClick="showSection('image',['video','audio']);" <?=count($images)?'selected="selected"':''?>>Imagini</option> 
<option value="audio" onClick="showSection('audio',['video','image']);" <?=count($audios)?'selected="selected"':''?>>Audio</option>
</select>

Upvotes: 0

Views: 3602

Answers (4)

Moiz Shafqat Husain
Moiz Shafqat Husain

Reputation: 219

Call the function on select not in options:

    <select onClick='showSection(this.value,"a")'>
    <option value="video" >Video</option>
    <option value="image">Imagini</option> 
    <option value="audio">Audio</option>
    </select>

Upvotes: 0

Joseph
Joseph

Reputation: 119827

things i modified:

  • the second parameter is now a class name, each value separated by a "|"
  • used onChange() to trigger a selection (but does not trigger unless the value changes)
  • used this to pass a reference to the select rather than passing values (you can do more this way)

demo here

<select name="service_id" onChange="showSection(this)">
    <option value="video" class='image|audio'>Video</option>
    <option value="image" class='video|audio'>Imagini</option> 
    <option value="audio" class='video|image'>Audio</option>
</select>

<script type="text/javascript">

    function showSection(el){

        //modified to get the first and second parameters of showSection()

        //get the value
        var firstParam = el.value;

        //get the class name of the selected element, and split it
        var secondparam = el.options[el.selectedIndex].className.split('|');

        console.log(firstParam);
        console.log(secondparam);
    }
</script>​

Upvotes: 1

Moiz Shafqat Husain
Moiz Shafqat Husain

Reputation: 219

<?php 
$videos=0;
$images=0;
$audios=0;
?>
<select name="service_id">
<option value="video" onClick="showSection('video',['image','audio']);" <?=count($videos)?'selected="selected"':''?>>Video</option>
<option value="image" onClick="showSection('image',['video','audio']);" <?=count($images)?'selected="selected"':''?>>Imagini</option> 
<option value="audio" onClick="showSection('audio',['video','image']);" <?=count($audios)?'selected="selected"':''?>>Audio</option>
</select>

Upvotes: 0

Moiz Shafqat Husain
Moiz Shafqat Husain

Reputation: 219

i have tested this in chrome its working alright.

one suggestion is if you are using dropdown then use onchange event rather then using onClick

Upvotes: 0

Related Questions