【问题标题】:Kendo Multiselect value replace comma with comma + space剑道多选值用逗号+空格替换逗号
【发布时间】:2017-08-10 12:45:43
【问题描述】:

我正在使用剑道多选。默认返回的值是所选值的逗号分隔值。我想以更易读的格式显示它,逗号之间有一个空格。我的代码....

http://dojo.telerik.com/OcIxEw

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Kendo MultiSelect replace comma with comma space</title>

  <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.112/styles/kendo.common.min.css">
  <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.112/styles/kendo.rtl.min.css">
  <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.112/styles/kendo.default.min.css">
  <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.1.112/styles/kendo.mobile.all.min.css">

  <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
  <script src="http://kendo.cdn.telerik.com/2016.1.112/js/angular.min.js"></script>
  <script src="http://kendo.cdn.telerik.com/2016.1.112/js/jszip.min.js"></script>
  <script src="http://kendo.cdn.telerik.com/2016.1.112/js/kendo.all.min.js"></script></head>
<body>

  <select id="msCity" multiple="multiple" data-placeholder="Select Cities" >
    <option>Chicago</option>
    <option>Las Vegas</option>
    <option>Los Angeles</option>
    <option>New Jersey</option>
    <option>New York</option>
    <option>San Francisco</option>
  </select>
  <br />
  <br />
  <button id="btnGet" type="button" onclick="btnGetClick()">Get Value</button>
  <br />
  <br />
  <input id="result" type="text" style="width:100%" readonly />

  <script>

    //$(document).ready( function() {

            $('#msCity').kendoMultiSelect({ autoClose: false });

    //});

        function btnGetClick() {
        var selectedCities = "";
        selectedCities = $('#msCity').data("kendoMultiSelect").value().toString();
        $('#result').val(selectedCities.replace(",", ", "));
        }

    </script>

</body>
</html>

不幸的是,我的结果只替换了任何选择中的第一个逗号。

例如Chicago,New Jersey,San Francisco 变为 Chicago, New Jersey,San Francisco 第二个(以及后续的逗号)不会被替换。

有人知道为什么吗?

【问题讨论】:

    标签: javascript jquery kendo-ui kendo-multiselect


    【解决方案1】:

    不幸的是,我的结果只替换了任何选择中的第一个逗号。

    为了替换所有出现的模式,您可以更改:

    selectedCities.replace(",", ", ")
    

    到:

    selectedCities.replace(/,/g, ', ')
    

    sn-p:

    $('#msCity').kendoMultiSelect({ autoClose: false });
    
    function btnGetClick() {
        var selectedCities = "";
        selectedCities = $('#msCity').data("kendoMultiSelect").value().toString();
        $('#result').val(selectedCities.replace(/,/g, ', '));
    }
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.112/styles/kendo.common.min.css">
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.112/styles/kendo.rtl.min.css">
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.112/styles/kendo.default.min.css">
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2016.1.112/styles/kendo.mobile.all.min.css">
    
    <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2016.1.112/js/angular.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2016.1.112/js/jszip.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2016.1.112/js/kendo.all.min.js"></script>
    
    
    <select id="msCity" multiple="multiple" data-placeholder="Select Cities" >
        <option>Chicago</option>
        <option>Las Vegas</option>
        <option>Los Angeles</option>
        <option>New Jersey</option>
        <option>New York</option>
        <option>San Francisco</option>
    </select>
    <br />
    <br />
    <button id="btnGet" type="button" onclick="btnGetClick()">Get Value</button>
    <br />
    <br />
    <input id="result" type="text" style="width:100%" readonly />

    【讨论】:

    • 谢谢....我一直认为 jQuery 中的 .replace 替换了所有实例,而不是它找到的第一个实例...与 .Net 中的 .Replace 非常相似
    猜你喜欢
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 2017-05-29
    • 2013-12-10
    • 2017-11-18
    相关资源
    最近更新 更多