好的,我想这是一个优先考虑的问题,但我不知道如何解决它。
这是我的问题。
我有两个函数(jQuery)解决选择标记。 第一个允许获取所选选项的值并将其放在一个范围内(在选择标记旁边)。用于显示用户选择的值。
我会告诉你它不会太久:
<div class="col-xs-4">
<label>Kitten(s)</label>
<div class="selector">
<select>
<option value="1" >01</option>
<option value="2">02</option>
...
</select><span class="custom-select"></span>
</div>
</div>
jQuery(document).ready(afficheSelect);
function afficheSelect(){
$('select').on('keyup change', function(){
$(this).next('span').empty(); /* Empty the span when a change occur */
$(this).next('span').append($(this).val()); /* Show the number selected */
});
}
我的第二个功能显示选择的第一个值的函数选择。
假设您选择3只小猫它会做3 选择,您可以在其中指定颜色(例如)。
jQuery(document).ready(affKitt);
function affKitt(){
$('select').on('keyup change', function(){
$('#test').empty();
nbK = $(this).val();
if(nbK > 0){
html = "<label id='bug7'>Indicate the color of the kitten :</label>";
for(var i=1; i <= nbK; i++) /* Show number of select */
{
else
{
html +='<div class="col-xs-4"><div class="selector"><select id="colorKitten'+i+'" name="colorKitten'+i+'">';
for(var k=2; k <= 11; k++) /* Show option (allways the same) */
{
html +="<option value='colorSelected'>Blue, Grey ....</option>";
}
/* Closing tags */
html +="</select><span class='custom-select'></span></div></div>";
}
}
$('#colorKittens').append(html); /* This is a div under a certaine place */
}
});
}
现在 这是我的问题 :第一个函数不适用于我的第二个函数选择生成...为什么???
感谢能够回答此问题的任何人!
答案 0 :(得分:1)
您需要在event handler
change event
上为variable
应用html
,然后才能将$('#colorKittens').append(html);
附加到元素// Make the variable for HTML a jQuery object, so you can apply jQuery.fn to it
var jHtml = $(html);
// Check that jHtml is not EMPTY
if(jHtml.length) {
jHtml.afficheSelect();
$('#colorKittens').append(jHtml);
}
。
<强>解决方案强>
<select class='my_select_box'>
<option value='blue'>Blue Kitten</option>
<option value='red'>Red Kitten</option>
<option value='red'>Yellow Kitten</option>
</select>
<span class='mynextelement'></span>
<强> HTML 强>
jQuery.fn.afficheSelect = function() {
var next_span_element = $(this).next('span');
$(this).change(function() {
var selected_option_value = $(this).find('option:selected').val();
next_span_element.html(selected_option_value); /* Show the number selected */
});
};
<强> afficheSelect 强>
span
我找不到function
元素,无法找到;在.change
的{{1}}内。
答案 1 :(得分:0)
而不是:
jQuery(document).ready(afficheSelect);
function afficheSelect(){
$('select').on('keyup change', function(){
$(this).next('span').empty(); /* Empty the span when a change occur */
$(this).next('span').append($(this).val()); /* Show the number selected */
});
}
试试这个:
jQuery(document).ready(afficheSelect);
function afficheSelect(){
$('select').on('keyup change', function(){
$(this).next('span').html($(this).val()); /* Show the number selected */
});
}
答案 2 :(得分:0)