我一直在尝试使用JQuery从选项中调用选定的值,但它仅继续传递默认值。选择选项是使用JQuery设置的,因为按下编辑按钮时,该字段将变为select。
我已经尝试过:
$("#tstSelected option").filter(":selected").val();
这:
$( "#tstSelected option:selected" ).text();
似乎没有任何作用
if($(this).hasClass('fa-pencil')){
$.each(currentTD, function () {
if($(this).hasClass('editable')){
if($(this).hasClass('getFromSelect')){
//$(this).prop('contenteditable', false);
$(this).html("<select>" + "<?php foreach($test as $tst){ echo "<option id='tstSelected' value='$tst->tst_idx'>". $tst->tst_desc . $tst->tst_idx ."<option>"; } ?>" + "</select>");
}
$(this).prop('contenteditable', true);
}
});
$(this).removeClass('fa-pencil')
.addClass('fa-check')
editing = true;
}
然后我像这样调用所选值:
$("#tstSelected option").filter(":selected").val();
但是它不起作用
我只是得到默认值,它是第一个选定值的值
答案 0 :(得分:2)
尝试将ID分配给select
标签:
if($(this).hasClass('fa-pencil')){
$.each(currentTD, function () {
if($(this).hasClass('editable')){
if($(this).hasClass('getFromSelect')){
//$(this).prop('contenteditable', false);
$(this).html("<select id= 'select_tag'>" + "<?php foreach($test as $tst){ echo "<option id='tstSelected' value='$tst->tst_idx'>". $tst->tst_desc . $tst->tst_idx ."<option>"; } ?>" + "</select>");
}
$(this).prop('contenteditable', true);
}
});
$(this).removeClass('fa-pencil')
.addClass('fa-check')
editing = true;
}
取所选选项的值,如下所示:
$("#select_tag").val();
答案 1 :(得分:0)
您尝试在option
标签内找到option
标签。
// Here #tstSelected seems to already be a <option>
// "<option id='tstSelected' ... >"
$("#tstSelected option").filter(":selected").val();
// Add id on <select> instead of <option> and use this.
$("#tstSelected").val();
这是您需要在php中进行的更改。
$(this).html("<select id='tstSelected'>" + "<?php foreach($test as $tst){ echo "<option value='$tst->tst_idx'>". $tst->tst_desc . $tst->tst_idx ."<option>"; } ?>" + "</select>");