2012-03-10 2 views
1

내 선택 메뉴 내 https://github.com/fnagel/jquery-ui에서 각 옵션의 제목을 아이콘으로 표시하도록 설정했습니다. filename에 공백이 포함 된 아이콘을 제외하고는 아무 문제가 없습니다. 어떻게 탈출 - 나는 그것이 jQuery를 내부 작업을 얻을 수 아니에요 경우jQuery 이스케이프 공백

<option value="African Union.png" class="icon" title="/img/icons/flags/African Union.png" >African Union</option> 

:

 $('select.flags').selectmenu({ 
      icons: [ 
       {find: '.icon'} 
      ], 
      bgImage: function() { 
       return 'url(' + $(this).attr("title") + ')'; 
      } 
     }); 

HTML : 파일 이름이 African Union.png

JQuery와 같은 경우 어떤 아이콘이 표시되지 않습니다 공백은 PHP를 사용하여? str_replace은 유일한 옵션입니까?

+0

를? –

답변

1

URLs in CSS은 인용 부호로 둘러싸이지 않은 또는 단일 또는 이중 따옴표로 인용 될 수 있습니다. 반드시, 괄호, 공백 문자, 작은 따옴표 (')와 큰 따옴표 (")와 같은 인용 부호로 둘러싸이지 않은 URI에 나타나는

일부 문자 : 인용 부호로 둘러싸이지 않은 경우, 귀하의 경우, 당신은 특정 문자를 이스케이프 할 필요가 백 슬래시로 이스케이프하여 결과 URI 값이 URI 토큰 ('\(', '\)')이되도록합니다.

그래서 :

'url(' + $(this).attr("title").replace(/(?=[()\s'"])/g, '\\') + ')' 

아니면 plain single quotes are allowed in URLs로 따옴표로 URL, 바람직하게는 따옴표 넣어 : 당신이 PHP를 사용 않았다

'url("' + $(this).attr("title") + '")' 
0

이 하나

$("#text_box_id").change(function() { 
var name = $(this).val(); 
var dname_without_space = $("#text_box_id").val().replace(/ /g, ""); 
var name_without_special_char =  dname_without_space.replace(/[^a-zA-Z 0-9]+/g, ""); 
$(this).attr("value", name_without_special_char); 
}); 

그것은 공백뿐만 아니라 특수 문자를 제거하십시오. 이 게시물

http://patelmilap.wordpress.com/2011/08/17/using-jquery-remove-space-special-characters-while-typing/

1

사용 urlencode를 참조하십시오. 처음에는 URL에 공백을 사용할 수 없습니다.

$filename = "African Union.png"; 
$url = urlencode($filename); 
$html_safe_url = htmlspecialchars($url); 

echo "<option value='$html_safe_url' class='icon' title='/img/icons/flags/$html_safe_url'>African Union</option> 
관련 문제