0

jQuery DatePicker を使用して「#」で要素を選択しています。セレクターに「直接」文字列を入れるとすべて正常に動作しますが、連結を開始すると、結果が非​​常に疑わしくなります。たぶん、このコンソールのスクリーンショットは私が苦労していることを説明しています ここに画像の説明を入力

HTML :

<input id="wizard:wizard-body:datePiece_picker" name="wizard:wizard-body:datePiece_picker" type="text" value="">

Javascript :

function replaceAll(str, find, replace) {
    return str.replace(new RegExp(find, "g"), replace);
}
var TYPEDIALOG = "wizard:wizard-body:";

var id = replaceAll(TYPEDIALOG, ":", "\\\\:")+ "datePiece_picker";
if ($("#" + id).length != 0) {
    $("#" + id).datepicker({
        dateFormat : "dd/mm/yy"
    });
}
4

1 に答える 1

1

あなたの置換はあまりにも多くのバックスラッシュを追加していました:

http://jsfiddle.net/BaypN/

var id = replaceAll(TYPEDIALOG, ":", "\\:") + "datePiece_picker";

補足として、これはおそらく、:要素 ID を避けるためのかなり良い議論です。また、datePiece_pickerid の一部ではなく、クラスである可能性もあります。

于 2013-09-25T15:50:35.153 に答える