Iveは別のSOスレッドの次の例に従います。 X-editable custom field type not respecting overridden defaults これはx-editableで同様のカスタムフィールドを作成するのに役立ちました。すべてがうまくいきましたが、選択の 'テキスト'をレンダリング/表示する方法を理解することはできません.SOの例は '値'を出力します。私のカスタム入力を使用するためにX-編集可能にinitialisする私のjsがこれです:唯一の違いは、私はより多くの入力を持っていると述べたSOの例が正常に動作-theyとしてx編集可能なカスタムフィールドは選択メニューのテキストを取得できません
$('#stffulladdress').editable({
url : '',
pk : 6,
value : {
address : "",
city : "",
region : "",
postcode : "",
country : "eng"
},
sourceCountry: [
{ value: "eng", text: "ENGLAND" },
{ value: "ire", text: "IRELAND" },
{ value: "sco", text: "SCOTLAND" },
{ value: "cym", text: "WALES" }
],
validate : function(value) {
if (value.address == '' || value.postcode == '') return "Address first lines AND Postcode required";
},
display : function(value) {
if (!value) {
$(this).empty();
return;
}
console.log(value.country);
var html = $('<div>').html(value.address + '<br />' + value.city + '<br />' + value.region + '<br />' + value.postcode + '<br />' + value.country);
$(this).html(html);
}
});
マイカスタムX編集可能なクラスが同じです予想通り。私は、x-編集クラスからこのスニペットは、選択した項目のテキストを取得することを考えているだろう:
value2html: function(value, element) {
if(!value) {
$(element).empty();
return;
}
var countryText = value.country;
$.each(this.sourceCountryData, function (i, v) {
if (v.value == countryText) {
countryText = v.text.toUpperCase();
}
});
var html = $('<div>').html(value.address + ',<br />' + value.city + ',<br />' + value.region + ',<br />' + value.postcode + ',<br />' + countryText);
$(element).html(html);
},
しかし、選択した国を表示UPN私はまだテキスト「イングランド」の国の値が「ENG」を取得していません。
私が試した:私は、値 'ENG' とvalue.textを与える
value.countryを未定義与え
私は得ることができますどのように任意のアイデア選択されたテキスト??
おかげ