2012-08-23 3 views
0

을 수정하는 방법, 난 그 부탁 만 name가 표시되고 마지막 부분이 아닙니다. Stack *이 태그 수를 어떻게 보여줄지 생각해보십시오. 그러나 태그 수를 선택하면 숨 깁니다.내가 현재 그러나</p> <pre><code><option>{{ tag.name }} ({{ tag.count }})</option> </code></pre> <p>같은 옵션을 보여줍니다 <code>select</code>이 jQuery를 선택된 선택한 텍스트

아이디어가 있으십니까? 감사.

편집 : 취소하지 못해 죄송합니다. chosen에서 옵션을 선택하면 텍스트 상자에 선택한 데이터가 채워집니다. 텍스트로 수정하려면 <select>에있는 텍스트가 필요합니다.

+0

미안하지만 무슨 뜻인지 모르겠습니다. 옵션 값을 변경 하시겠습니까? – LonelyWebCrawler

+0

@LonelyWebCrawler 옵션에 "Music (25)"이라고 표시되면 선택시 텍스트 입력에 "음악"만 표시하려는 경우, 즉 모든 것을 괄호 안에 긋습니다. – rebelliard

답변

1

편집 : 당신의 편집 들어, 옵션 요소는 텍스트로 설정 value 속성이있는 경우 시도해보고 싶다 :

$(document).ready(function() { 
    $("select").change(function() { 
     $("input").val($(this).val()); 
    }).change(); 
});​ 

데모 : http://jsfiddle.net/CdKGT/2/

또는 당신은 어떤 이유로 value 속성을 사용하여 표시되는 내용에서 텍스트 추출 할 수없는 경우 :

$("select").change(function() { 
    $("input").val($("option:selected",this).text().replace(/ \(\d+\)$/,"")); 
}).change(); 

데모 : http://jsfiddle.net/CdKGT/3/

분명히 $("select") 및가 아닌 선택 및 입력을 식별하기 위해 ID 또는 클래스를 사용해야합니다.,하지만 당신은 아이디어를 얻을.

MY ORIGINAL 답 (원래 질문의 내 해석) :

당신이 뭔가를 할 수 있습니다 : 다음

​<select> 
<option value="css" data-count="1">css 1</option> 
<option value="html" data-count="55">html 55</option> 
<option value="java" data-count="37">java 37</option> 
<option value="javascript" data-count="20">javascript 20</option> 
<option value="jquery" data-count="12">jquery 12</option> 
</select> 

과 :

​$(document).ready(function() { 
    $("select").change(function() { 
     $(this).find("option").html(function(){ return this.value + " " + 
                 $(this).attr("data-count"); }); 
     $("option:selected",this).html(this.value); 
    }).change(); 
});​​​ 

데모 : http://jsfiddle.net/CdKGT/1/

(당연히 cachin으로 함수를 최적화 할 수 있습니다. gQuery 객체 등등. 그러나 개념 증명을 위해 간단하게 유지했습니다.)

0

선택된 그러나 그것은 일관 때문에 내부적으로 물건을 수행하는 방법을 선택 작동하지 않습니다 ... 당신이

좀 그렇다고 해결 방법을 가지고 원하는 기능을 지원하지 않습니다. http://jsfiddle.net/2hHYh/

선택하면 옵션이 선택되었을 때 항상 변경 이벤트가 실행되는 것은 아니지만 표시되는 텍스트는 클릭 한 것과 동일하게 설정됩니다. : O 동일한 옵션을 다시 클릭하면 특히 현저합니다.

+0

Chosen에서는 작동하지 않습니다. 나는 이미 이것을 사용한다. 제 편집문을 읽으십시오. :) – rebelliard

+0

내 원래 대답을 편집, 선택한 당신이 분명히 원하는대로하지 않습니다. – Nal

+0

그러나 플러그인을 내 관심에 가져 주셔서 감사합니다. 옵션이 부족함에도 불구하고 꽤 좋습니다. – Nal

0

이 코드를보십시오 :

$("select").change(
function() 
{ 
    var value = $("option:selected").html() 
    var new_value = value.replace(/\s*\([0-9]+\)/, ""); 
    $("option:selected").html(new_value); 
});   

http://jsfiddle.net/fdrGV/

+0

감사합니다. 제 편집문을 읽으십시오. :) – rebelliard

+0

텍스트 영역이 어떻게 식별됩니까? 나는 HTML 구조를 모른다. – LonelyWebCrawler

0
$('select').on('change', function() { 
    var _selected = $(this).find('option:selected'), 
     _orig = _selected.text(); 

    var _index = _orig.indexOf(' ('); 
    _selected.text(_orig.substring(_index, '')); 

}); 

jsFiddle

+0

고맙습니다. 제 편집문을 읽으십시오. :) – rebelliard