2014-01-30 2 views
0

Привет У меня есть много строк с этой структурой:JQuery текст() возвращает нежелательные символы

<div class="row"> 
     <div class="input-group col-lg-1" > 
      <span class="input-group-addon"> 
       <input type="checkbox"> 
      </span> 
      <span id="value"> 
       @Html.DisplayFor(modelitem => item.DeviceInstanceId) 
      </span> 
     </div> 
     * 
     * 
     * 
</div> 

где @Html.DisplayFor(modelitem => item.DeviceInstanceId) это число.

Я получаю значения пролетов, связанных с установленными флажками. С помощью этого кода:

$(document).ready(function() { 
    $("#reservations").click(function() { 
     var Ids = new Array(); 
     $(".table input:checked").each(function() { 
      Ids.push(($(this).parentsUntil("row").children("#value").text())); 

     }) 
     console.log(Ids); 
    }); 

}); 

И идентификаторами выглядит следующим образом:

["↵     38↵    ", "↵     40↵    ", "↵     41↵    "] 

Как мне улучшить мой JS код, чтобы избавиться от тех, кто входит и пробелы?

+0

использование находкой («# значение») вместо детей («# значение») –

+1

@NavinRauniyar: Почему ? –

+0

Нет разницы между находкой и детьми. Все еще нежелательные символы – szpic

ответ

3

Вы можете:

  • Trim the value:

    Ids.push($.trim($(this).parentsUntil("row").children("#value").text())); 
    

    , которая удаляет начальные и конечные пробельные символы, или

  • Напишите ваш HTML так, что он не содержит разрывы строк и пробелов:

    <span id="value">@Html.DisplayFor(modelitem => item.DeviceInstanceId)</span> 
    
0
.children('#value') 

будет выглядеть только один уровень вниз

.find('#value') 

будет выглядеть более чем на один уровень вниз.

в вашем случае диапазона с идентификатором «значение» на самом деле два уровня вниз caompared к классу «ряд»

+1

Это имеет смысл, но если это проблема, OP получит пустую строку назад, а не '' 38 "' и т. Д. –

+0

Оба ребенка и найти в моем случае возвращает то же самое – szpic

+0

почему бы вам не создать скрипку , – aneeshere

Смежные вопросы