λλ Chosenμ μ’μνμ§λ§ λ§μ ajax λ° μ¨κ²¨μ§ ν¨λμ μ¬μ©νκΈ° λλ¬Έμ Chosenμ΄ λλΉκ° 0μΈ μ νμ λ λλ§νλ λ° μ§μ₯ κ°μ λ¬Έμ κ° λ°μνμ΅λλ€. λΆλͺ ν μ νμ΄ νμλκΈ° μ μ λλΉκ° κ³μ°λκΈ° λλ¬Έμ λλ€.
μ μ΄λ μ κ²½μ°μλ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ(λλ ν΄κ²° λ°©λ²μ μ 곡νλ) μ€μ μΆκ°νμ΅λλ€.
Chosen.prototype.set_up_html ν¨μμμ "this.f_width = this.form_field_jq.outerWidth();" λ€μμ λ€μμ μΆκ°ν©λλ€.
if (this.f_width==0) this.f_width = this.form_field_jq.css("width");
λΆλͺ ν μ΄κ²μ λλΉκ° CSSμμ λͺ μμ μΌλ‘ μ€μ λ κ²½μ°μλ§ μλν©λλ€. κ·Έλ¬λ λ΄ κ²½μ°μλ λ¬Έμ κ° ν΄κ²°λ©λλ€. λ λμ μμ μ νμν©λλ€.
#92μ 볡μ νμ λλ€.
μμ μ¬νμ λν΄ λ€μκ³Ό κ°μ΄ λ³κ²½ν΄μΌ νμ΅λλ€.
if (/px/.test(this.form_field_jq.css("λλΉ"))){
this.f_width = this.form_field_jq.css("λλΉ").replace("ν½μ
", "");
} λ λ€λ₯Έ {
this.f_width = this.form_field_jq.css("λλΉ");
}
this.form_field_jq.css("width"); λμ pxκ° μλ λλΉλ₯Ό λ°ννμ΅λλ€.
μ루μ μ΄ μμΌλ©° μ΄κ²μ λ΄ νλ‘μ νΈμμ μ μλν©λλ€.
this.f_width = this.form_field_jq.outerWidth(); // selected.jqery.jsμ μ΄ μ€ μλμ μλ μ½λλ₯Ό μΆκ°ν©λλ€.
if (this.f_width==0){
var cloneObj= this.form_field_jq.clone();
cloneObj.removeAttr('id');
$(document.body).append(cloneObj);
var w = cloneObj.width();
cloneObj.remove();
this.f_width=w;
}
λ΄ νλ‘μ νΈμμ μ μλνλ―λ‘ μ΄κ²μ΄ λκ΅°κ°λ₯Ό λκΈ°λ₯Ό λ°λλλ€.
λ°©κΈ λ€μ CSS κ·μΉμ μΆκ°νμ΅λλ€.
.chosen-container
{
width: 100% !important;
}
fabioduque κ°μ¬ν©λλ€! μ νν 컨ν μ΄λμ CSSλ₯Ό μ€μ νλ©΄ λ΄ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€!
CSSμμ λλΉλ₯Ό μ€μ ν νμκ° μμ΅λλ€. Chosenμ μ΄κΈ°νν λ λ°λ‘ ν μ μμ΅λλ€.
$(".chosen-select").chosen({ width: '100%' }); // any acceptable CSS width will work
μ¬μ€, λ΄κ° μ νν μμλ₯Ό μμ±νκΈ° μν΄ KO bindingHandlerλ₯Ό λ§λ€μκ³ λͺ¨λ μμμ λλΉκ° 100%λ μλλ―λ‘ CSSκ° μ μκ² λ§λ λ°©λ²μ λλ€. λ΄ bindingHandlerμμ μ΅μ μΌλ‘ λλΉλ₯Ό μ€μ ν μ μμ§λ§.
@fabioduque κ°μ¬ν©λλ€. μ μκ²λ
@pfiller , κ°μ¬ν©λλ€! λ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
κ°λ μ μ΄λ° μΌμ΄? :(
λ΄κ° μ νν λͺ¨λ μμΉλ₯Ό λ³΄κ³ μΆμ§ μμκΈ° λλ¬Έμ CSS μ κ·Ό λ°©μμ μ¬μ©νμ΅λλ€(λ€λ₯Έ κ°λ°μλ μ 보기λ₯Ό λΉλν λ λμΌν λ¬Έμ κ° μμ μ μμ). λ°λΌμ CSSλ μ μΈκ³μ μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€. @fabioduque κ°μ¬
λ΄ WordPress νλ¬κ·ΈμΈ μ€ νλμμ μ‘°κ±΄λΆ λ
Όλ¦¬λ‘ μ΄ λ¬Έμ κ° λ°μνμ΅λλ€. νΉν λλΉκ° 0pxλ‘ μ€μ λμ΄ μμ΅λλ€... μ΄κΈ°ν νμλ(μ νν νλλ₯Ό chosen:ready
λκΈ°μ΄μ μΆκ°νλ―λ‘ μ΄λ―Έ μ΄κΈ°νλμ΄ μλ κ²½μ°) κ·Έλ¦¬κ³ λΆλͺ¨ divλ₯Ό μ¨κΉλλ€) ... νμ§λ§ μ΄μ¨λ μ΄κ²μ chosen:updated
μ€ννκΈ° μ μ μμ DIV μμλ₯Ό νμνκΈ° μν΄ jQuery μ½λκ° μ€νλ λ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° μ¬μ©ν κ²μ
λλ€.
// This is the original select field
$field = $( '#' + field );
// This is the select field wrapper that I hide (just shown for reference)
$( '.fieldset-' + field ).show();
// Chosen container ID will be original select element ID + _chosen
var $chosen_container = $( '#' + field + '_chosen' );
if( $chosen_container && $chosen_container.width() === 0 ){
$chosen_container.css( 'width', '100%' );
}
$field.trigger( 'chosen:updated' );
λ€λ₯Έ μ¬λμ΄ μ¬μ ν μ΄ λ¬Έμ λ₯Ό κ²ͺκ³ μλ€λ©΄ $(".chosen-select").chosen()μ νΈμΆν λ νμΈνμμμ€. νμ΄μ§ λ‘λ μ μλ°μ€ν¬λ¦½νΈ ν¨μ νΈμΆ λͺ©λ‘μ΄ μμλλ° .chosen() νΈμΆμ λͺ©λ‘ 맨 μλ‘ μ΄λνμ λ λλΉκ° λ μ΄μ 0μ΄ μλ μ μ νκ² μ μ©λμμ΅λλ€. μμμ μ΄λν κΈ°λ₯μ μΌλΆ λ°μ΄ν°λ₯Ό κ²μνκ³ λ§μ dom μμ μ μννλ κ²μ΄μμ΅λλ€.
κ²μ μμ΄μ½μ΄ 2κ° μλ μ΄μ λ μμ λ κ°μ§ μ루μ
μ λͺ¨λ μλν κ²μ
λλ€.
κ°μ₯ μ μ©ν λκΈ
λ΄ νλ‘μ νΈμμ μ μλνλ―λ‘ μ΄κ²μ΄ λκ΅°κ°λ₯Ό λκΈ°λ₯Ό λ°λλλ€.
λ°©κΈ λ€μ CSS κ·μΉμ μΆκ°νμ΅λλ€.