Получить название опции из выпадающего списка с помощью JavaScript

1

Я получил динамическую форму ввода из выпадающего списка. Здесь мой код для выпадающего меню

<label class="strong">Cut: 
<select name="add_qty">
<?php
    $qqs = mysqli_query($conn, "SELECT * FROM m_maincut WHERE maincut_status = '1'");
    while($roq = mysqli_fetch_array($qqs, MYSQLI_ASSOC))
    {
?>
        <option id="opsi" value="<?php echo $roq['maincut_id']; ?>" title="<?php echo $roq['maincut_name']; ?>"><?php echo $roq['maincut_name']; ?></option>
<?php
    }
?>
</select>
</label> 
Total: <input type="text" name="add_name" /> 
<input onclick="addRow(this.form);" type="button" value="Add New" />

и здесь мой javascript, чтобы сделать форму динамической (кнопка для добавления дополнительной опции)

<script type="text/javascript">
var rowNum = 0;

function addRow(frm) {
    rowNum++;
    var text = frm.opsi.title;
    var row = '<p id="rowNum' + rowNum + '">Nama Biaya: <option type="text" name="qty[]" size="4" value="' + frm.add_qty.value + '">' + text + '</option> Jumlah: <input type="text" name="name[]" value="' + frm.add_name.value + '"> <input type="button" value="Remove" onclick="removeRow(' + rowNum + ');"></p>';
    jQuery('#itemRows').append(row);
    frm.add_qty.value = '';
    frm.add_name.value = '';
}

function removeRow(rnum) {
    jQuery('#rowNum' + rnum).remove();
}
</script>

Вот мой результат:

Изображение 174551

"Tambah ke Biaya" означает "Добавить больше",

Мой вопрос: как получить название опции? Я могу получить значение, но я могу получить название, чтобы показать его клиенту. Потому что, если я покажу это значение, он отобразит только номер (ID)

  • 0
    Что такое HTML, создаваемый этим PHP, потому что именно над этим будет работать JavaScript, PHP не имеет отношения к браузеру. Кроме того, когда и где вы хотите получить название?
Теги:
forms

3 ответа

1
Лучший ответ

Вы должны получить innerHTML тега параметра, если хотите получить, который показан пользователю. И вы должны создать опцию вместо ap-элемента

  • 0
    В функции addRow. В JS
  • 0
    ИДЕАЛЬНЫЙ! большое спасибо @ EduardoPérez!
Показать ещё 2 комментария
1

Чтобы получить атрибут title тега,

var title = jQuery(this).attr('title');

Чтобы получить html внутри <option>,

var html = jQuery(this).html();

И предложите вам использовать jQuery, это будет проще

<input id="add_new" type="button" value="Add New" />

и триггерное событие нажатия этой кнопки, например,

jQuery('#add_new').click(function(){
    // your process
});
  • 0
    это показывало: undefined
  • 0
    вы должны использовать их внутри контекста, как я показал в моем редактировании, также обратите внимание, что вы можете использовать любой селектор вместо this для .class или #id .
0

Если вы действительно ищете значение заголовка, так как заголовок является одним из атрибутов элемента, вы должны иметь возможность использовать

jQuery('your-selector').attr('title');
  • 0
    уже попробовал attr но ничего не показывал

Ещё вопросы

Сообщество Overcoder
Наверх
Меню