在组合框中的第一个值上设置为空

时间:2016-09-05 08:07:10

标签: javascript jquery

如何将第一个值设置为null?我使用了这些代码,但它不起作用?如何在组合框上设置占位符?提前谢谢。

<select class="ddlASN"></select>
var result = 'a,b,c,d';

$('.ddlASN').html($.map(result.split(','), function(item) {
    return $('<option></option>').val('').html('')[0].outerHTML
    return $('<option></option>').val(item).html(item)[0].outerHTML
}).join(''));

3 个答案:

答案 0 :(得分:2)

你可以试试这个。

    var result = 'a,b,c,d';

// placeholder option
var dd_content = '<option>-- Select an option --</option>';

// add rest of the options
jQuery.map(result.split(','), function(item) {
  dd_content += '<option value="'+item+'">'+item+'</option>';
});

jQuery('.ddlASN').html(dd_content);

它将阻止在submition之后重复值。

如果它不起作用,那么请在提交表格后告诉我实际发生了什么。是否将新值分配给组合框......

答案 1 :(得分:1)

试试这个:

$(document).ready(function(){

    var result = 'a,b,c,d';
    var arr = result.split(',');

    $sel = $(".ddlASN");

    $sel.append("<option></option>");
    //$sel.append("<option>PlaceHolder</option>");

    for (var i =0 ; i < arr.length; i++) {

        $sel.append("<option>" + arr[i] + "</option>")

    }

})

最终代码:

&#13;
&#13;
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
    
   Select : <select class="ddlASN"></select>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
   <script>
$(document).ready(function(){
    
    var result = 'a,b,c,d';
    var arr = result.split(',');
    
    $sel = $(".ddlASN");
    
    $sel.append("<option></option>");
    
    for (var i =0 ; i < arr.length; i++) {
        
        $sel.append("<option>" + arr[i] + "</option>")
        
    }
    
})
    </script>
    </body>
</html>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

  

如何将第一个值设置为null?我使用了这些代码,但它不起作用?如何在组合框上设置占位符?

您可以采取的方法是,使用html()添加所需的所有选项,而不是使用会覆盖每次调用的HTML内容的append(),您可以使用val() text() 3}}为选项添加值,rint添加显示的文本:

&#13;
&#13;
var result = 'a,b,c,d';

// placeholder option
var placeholderOption = $('<option></option>').val('null').text('placeholder');
$('.ddlASN').html(placeholderOption);

// add rest of the options
$('.ddlASN').append($.map(result.split(','), function(item) {
  return $('<option></option>').val(item).text(item);
}));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="ddlASN"></select>
&#13;
&#13;
&#13;

注意:您应该注意的一件重要事情是,多个return语句在JavaScript中不起作用,因为在第一个return之后永远不会到达map

mPixelData方法将采用数组并根据您从其回调中返回的内容转换每个项目。这意味着您可以返回一个新的选项元素,其值和文本设置为您需要的值,不需要返回任何其他内容。