Chosen: .trigger("chosen:updated")κ°€ λ‚΄κ°€ μ œκ³΅ν•œ μ˜΅μ…˜μ„ μ„ νƒν•˜λŠ” 것이 μ˜³μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 10μ›” 18일  Β·  7μ½”λ©˜νŠΈ  Β·  좜처: harvesthq/chosen

ajaxλ₯Ό 톡해 dirrert 값을 λ‹€μ‹œ μ„ νƒν•˜λ €κ³  ν•  λ•Œ
처음으둜 ν•¨μˆ˜κ°€ μ˜¬λ°”λ₯Έ 일을 ν•  λ•Œ
num1 선택 μ˜΅μ…˜μ„ λ³€κ²½ν•  λ•Œ 두 번 이상
λ‹€λ₯Έ num2 선택은 λ‹€λ₯Έ 것을 μ„ νƒν•˜μ—¬ μ—…λ°μ΄νŠΈν•΄μ•Ό ν•©λ‹ˆλ‹€. μ˜΅μ…˜ val
ν•˜μ§€λ§Œ λ‚΄κ°€ 선택해야 ν•˜λŠ” λͺ¨λ“  μ˜΅μ…˜μ„ μ—¬λŸ¬ 개 μ„ νƒν•˜μ§€ μ•Šκ±°λ‚˜ μ„ νƒν•˜μ§€ μ•Šμ€ μ‚¬λžŒμ΄ μ „ν˜€ μ—†μŠ΅λ‹ˆλ‹€.

μ˜ˆμƒλ˜λŠ” 행동

μ–΄λ–€ 일이 μΌμ–΄λ‚˜μ•Ό ν•˜λŠ”μ§€ μ•Œλ €μ£Όμ‹­μ‹œμ˜€.
λ‚΄κ°€ ν•˜λ‚˜μ˜ 선택 μš”μ†Œλ₯Ό λ³€κ²½ν•  λ•Œ
ajaxλ₯Ό 톡해 μ–»λŠ” κΈ°λ³Έ μ˜΅μ…˜μ€ λ‹€λ₯Έ μ˜΅μ…˜μ„ μ„ νƒν•˜μ—¬ ν•„μš”ν•©λ‹ˆλ‹€.

μ‹€μ œ 행동

λŒ€μ‹  무슨 일이 μΌμ–΄λ‚˜λŠ”μ§€ μ•Œλ €μ£Όμ‹­μ‹œμ˜€.

ν™˜κ²½

  • μ„ νƒν•œ 버전 : 1.6.2
  • jQuery λ˜λŠ” ν”„λ‘œν† νƒ€μž… 버전 :
  • λΈŒλΌμš°μ € 및 버전 : chrome 54.0.2840.59m(64λΉ„νŠΈ)
  • OS 및 버전 : WIN7 SP1 64BIT






일뢀 κΈ°λŠ₯을 μˆ˜ν–‰{
$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=1]').attr('선택됨', true);
$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=3]').attr('선택됨', true);
}
$("#one").val(1).trigger("선택됨: μ—…λ°μ΄νŠΈλ¨");

그러면 λ‚˜μ€‘μ— 가끔 μ„ νƒν•˜μ§€ μ•Šμ•„λ„ λ κΉŒμš”???
λ‚΄κ°€ ν•  수 μžˆλŠ”μ§€ λͺ°λΌμ„œ λ‚˜μ€‘μ— ν•„μš”ν•œ μ˜¬λ°”λ₯Έ μ˜΅μ…˜μ„ 선택할 수 μžˆμŠ΅λ‹ˆκΉŒ?

Awaiting Reply

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ•ˆλ…•ν•˜μ„Έμš” λΈ”λž­ν–‰λ‹˜
λ‹Ήμ‹ μ˜ λ¬Έμ œλŠ” μ΄κ²ƒμœΌλ‘œ ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
λ‹Ήμ‹ μ΄ν•˜κ³ μžˆλŠ” 일 :
$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=1]').attr('선택됨', true);
$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=3]').attr('선택됨', true);
$("#one").val(1).trigger("선택됨: μ—…λ°μ΄νŠΈλ¨");

ν•΄μ•Ό ν•  일

$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=1]').attr('선택됨', true);
$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=3]').attr('선택됨', true);
$("#one").trigger("선택됨: μ—…λ°μ΄νŠΈλ¨");

μ—…λ°μ΄νŠΈλ₯Ό νŠΈλ¦¬κ±°ν•˜λŠ” λ™μ•ˆ 값을 μ œκ³΅ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

λͺ¨λ“  7 λŒ“κΈ€

λ‚΄ κ°€λ‚œν•œ μ˜μ–΄μ— λŒ€ν•΄ μ£„μ†‘ν•©λ‹ˆλ‹€ :sob:

λ‚΄κ°€ μ˜¬λ°”λ₯΄κ²Œ μ΄ν•΄ν–ˆλ‹€λ©΄ ajax μš”μ²­μ„ μ‚¬μš©ν•˜μ—¬ 선택 ν•­λͺ©μ— μƒˆ μ˜΅μ…˜μ„ μΆ”κ°€ν•œ λ‹€μŒ chosen:updated λ₯Ό νŠΈλ¦¬κ±°ν•˜μ—¬ Chosen이 λ³€κ²½ 사항을 λ°˜μ˜ν•˜λ„λ‘ ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?

문제λ₯Ό μ‹œμ—°ν•  수 μžˆλ„λ‘ λ°”μ΄μ˜¬λ¦° 을 μ„€μ •ν•˜μ„Έμš”. 그러면 버그인지 κ΅¬ν˜„ λ¬Έμ œμΈμ§€ νŒλ‹¨ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹΄λ‹Ήμžμ—κ²Œ κ°μ‚¬ν•©λ‹ˆλ‹€.

NOT LIKE THAT .. μ˜΅μ…˜ λͺ©λ‘μ„ μƒˆλ‘œ κ³ μΉ˜μ§€ μ•ŠμŒ
μ˜΅μ…˜ λͺ©λ‘μ€ μ™„μ „νžˆ λ™μΌν•©λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ 값은 그렇지 μ•ŠμŠ΅λ‹ˆλ‹€
λ‚΄κ°€ μ„ νƒν•œ 값을 λ³€κ²½ν•˜κ³  싢을 λ•Œλ§ˆλ‹€ jQueryλ₯Ό 톡해
λ‚΄κ°€ 처음으둜 μ„ νƒν•œ ν•­λͺ©μ˜ 값이 μ˜³μ•˜μ„ λ•Œ
κ·ΈλŸ¬λ‚˜ λ‚˜μ€‘μ— servel μ‹œκ°„μ΄λ˜λ©΄ 잘λͺ» 될 κ²ƒμž…λ‹ˆλ‹€.
λ‚˜λŠ” select μš”μ†Œμ˜ μ˜¬λ°”λ₯Έ 값을 얻을 수 μ—†μŠ΅λ‹ˆλ‹€ ....
image
image
κΈ°λŠ₯을 처음 λ‘œλ“œν•  λ•Œ ν•˜λ‚˜μ˜ μ˜΅μ…˜λ§Œ μ„ νƒν•˜λ©΄ λ©λ‹ˆλ‹€.
image
image

그럼 λ‹€μ‹œ ν•œλ²ˆ
image

μ΄λ ‡κ²Œ λ˜μ–΄μ•Ό ν•œλ‹€
Uploading image.png…

https://jsfiddle.net/4jtsdnt7/someof

μ•ˆλ…•ν•˜μ„Έμš” λΈ”λž­ν–‰λ‹˜
λ‹Ήμ‹ μ˜ λ¬Έμ œλŠ” μ΄κ²ƒμœΌλ‘œ ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
λ‹Ήμ‹ μ΄ν•˜κ³ μžˆλŠ” 일 :
$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=1]').attr('선택됨', true);
$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=3]').attr('선택됨', true);
$("#one").val(1).trigger("선택됨: μ—…λ°μ΄νŠΈλ¨");

ν•΄μ•Ό ν•  일

$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=1]').attr('선택됨', true);
$(#ν•˜λ‚˜μ˜ μ˜΅μ…˜[κ°’=3]').attr('선택됨', true);
$("#one").trigger("선택됨: μ—…λ°μ΄νŠΈλ¨");

μ—…λ°μ΄νŠΈλ₯Ό νŠΈλ¦¬κ±°ν•˜λŠ” λ™μ•ˆ 값을 μ œκ³΅ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

JSμ—μ„œ 닀쀑 선택 μ˜΅μ…˜μ˜ 선택 μƒνƒœλ₯Ό μ—…λ°μ΄νŠΈν•œ λ‹€μŒ 선택 ν•­λͺ©μ„ ν‘œμ‹œν•˜λ„λ‘ Chosen을 μ—…λ°μ΄νŠΈν•˜λ €κ³  μ‹œλ„ν•œ 후에도 λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. 이 λ™μž‘μ„ λ³΄μ—¬μ£ΌλŠ” λ°”μ΄μ˜¬λ¦°μ„ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

https://jsfiddle.net/5wbzxg27/

3개의 λ²„νŠΌμ΄ μžˆμŠ΅λ‹ˆλ‹€:

  • λͺ¨λ“  μ˜΅μ…˜μ„ μ„ νƒν•˜κ³ ,
  • 일뢀 μ˜΅μ…˜μ„ μ„ νƒν•˜κ³ ,
  • λ‚˜λ¨Έμ§€ μ˜΅μ…˜μ„ μ„ νƒν•˜μ‹­μ‹œμ˜€.

각 μ˜΅μ…˜μ€ λ™μΌν•œ λ²„νŠΌ(및 μ—…λ°μ΄νŠΈ)을 μ—¬λŸ¬ 번 λˆŒλŸ¬λ„ 선택됨 μƒμžμ— ν•œ 번만 ν‘œμ‹œλ©λ‹ˆλ‹€. μŠ€ν¬λ¦½νŠΈκ°€ μ •μƒμ μœΌλ‘œ μ‹€ν–‰λ˜κ³  μ›λž˜ 선택 μ˜΅μ…˜μ˜ μ„ νƒλœ μƒνƒœκ°€ μ •μƒμ μœΌλ‘œ λ³€κ²½λ˜μ§€λ§Œ Chosen은 μ²˜μŒμ—λ§Œ μ˜΅μ…˜μ„ ν‘œμ‹œν•©λ‹ˆλ‹€.

도움이 λ˜μ—ˆκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

@cinemazealot λ‹€μŒ μ½”λ“œλ₯Ό μ‹œλ„ν•˜μ‹­μ‹œμ˜€.

$("#mySelect").chosen({
       placeholder_text_multiple: 'Something',
});
$('button#all').on('click', function() {
  $('#mySelect option').attr('selected', false);   // selects all
  var options = [];
  for (var i=0; i < $('#mySelect option').length; i++){
    options.push($('#mySelect option')[i].value);
  };
  $('#mySelect').val(options);
  $("#mySelect").trigger("chosen:updated");       // updates chosen
  return false;                                   // returns false not to post the surrounding form
});
$('button#first').on('click', function() {
  $('#mySelect option').attr('selected', false);  // clears all
  var options = [];
  for (var i=0; i < $('#mySelect optgroup[label="first"] option').length; i++){
    options.push($('#mySelect optgroup[label="first"] option')[i].value);
  };
  $('#mySelect').val(options);
  $("#mySelect").trigger("chosen:updated");       // updates chosen
  return false;                                   // returns false not to post the surrounding form
});
$('button#second').on('click', function() {
  $('#mySelect option').attr('selected', false);  // clears all
    var options = [];
  for (var i=0; i < $('#mySelect optgroup[label="second"] option').length; i++){
    options.push($('#mySelect optgroup[label="second"] option')[i].value);
  };
  $('#mySelect').val(options);
  $("#mySelect").trigger("chosen:updated");       // updates chosen
  return false;                                   // returns false not to post the surrounding form
});

νˆ¬λ°•ν•˜κ³  컀 보일 수 μžˆμ§€λ§Œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

@pashaUSA 당신은 μ΅œκ³ μž…λ‹ˆλ‹€! :) λŠ¦μ€ λ°˜μ‘μ— λŒ€ν•΄ μ£„μ†‘ν•©λ‹ˆλ‹€. λ‹€λ₯Έ μ‹€ν–‰ 쀑인 ν”„λ‘œμ νŠΈκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ κ·€ν•˜μ˜ μ†”λ£¨μ…˜μ€ ν•΄μ•Ό ν•  일을 ν•©λ‹ˆλ‹€. 정말 κ°μ‚¬ν•©λ‹ˆλ‹€! :)

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰