私の機能を見てください:
$(".select-default").on("click", function() {
$(".dropdown-menu li a").on("click", function() {
var x = $(".select-default label").children()[0];
$(".select-default label").text($(this).text()+x);
});
$(this).off("click");
});
x が undefined を出力する理由を理解しようとしていますが、実際の子ノードを出力すると予想されます。
<span class="caret"></span>
編集。マークアップは次のとおりです。
<ul class="select-default select-sm dropdown-toggle" data-toggle="dropdown">
<label for="select" id="select_value">Select Action <span class="caret"></span></label>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Value 0</a></li>
<li><a href="#">Value 1s</a></li>
<li><a href="#">Value 2</a></li>
<li><a href="#">Value 3</a></li>
ラベル内にネストされたスパンノード全体を取得し、クリックしたタグの値と結合しようとしています。x が印刷されているはずです:
<span class="caret"></span>