简体   繁体   中英

Select has an empty value

I`ve a "select":

<select class="date-select2" name="date">
    <option selected="selected" value="">All</option>
    <option value="11-2015">11-2015</option>
    <option value="10-2015">10-2015</option>
    <option value="09-2015">09-2015</option>
    <option value="07-2015">07-2015</option>
    <option value="06-2015">06-2015</option>
    <option value="04-2015">04-2015</option>
    <option value="03-2015">03-2015</option>
</select>

When I`m try to get value of select,

document.getElementsByClassName('date-select2')[0].value

it normally returns a value of selected item in Chrome. In FF and Safari sometimes it returns an empty string, when selected a numeric value(not "All"). How to deal with it?

I think this might help you:

HTML

<select class="date-select2" name="date" onchange="myFunction(this.value)">
    <option selected="selected" value="">All</option>
    <option value="11-2015">11-2015</option>
    <option value="10-2015">10-2015</option>
    <option value="09-2015">09-2015</option>
    <option value="07-2015">07-2015</option>
    <option value="06-2015">06-2015</option>
    <option value="04-2015">04-2015</option>
    <option value="03-2015">03-2015</option>
</select>

JavaScript

function myFunction(curValue) {
    alert(curValue);
}

Working : Fiddle

Note: Also remember to put your JavaScript code inside body also right before it ends.

var select = document.querySelector('select.date-select2');

// add onchange handler 
select.onchange = function(){
var idx = select.selectedIndex;

var val = select.options[idx].value;
// if All is selected use text of option
  if(val=="")
   val = select.options[idx].textContent;

};

您可以尝试通过以下方式获取所选项目:

$(".date-select2 option:selected").text();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM