JQuery从Select Option中获取值不起作用

时间:2017-02-12 01:37:59

标签: javascript jquery html

我不知道为什么我的jquery代码无法从select选项中获取值。

我创建了一个函数,当我点击“添加新行”按钮时,它会在我的表格中创建一个新行。

这是我添加新行的JS代码

$(".tambah_sofa").on('click',function(){
    html = '<tr id="row_'+i+'">';
    html += '<td><button type="button" id="delete-button" data-row-delete="row_'+i+'">X</button></td>';
    html += '<td><select name="sofa[]" id="sofa"> <option value="'+sofa_rumah+'">Sofa rumah</option><option value="'+sofa_pejabat+'">Sofa Pejabat</option><option>Sofa Kedai</option><option>Tilam Tak Bujang</option> </select> </td>';
    html += '<td>X</td>';
    html += '<td><input type="number" name="quantity[]" id="quantity_'+i+'" value="1" disabled="disabled"></td>';
    html += '</tr>';
    sidebar = '<tr id="row_'+i+'">';
    sidebar += '<td><input style="width:50%;" type="text" id="price_sofa" value="" disabled="disabled"></td>';
    sidebar += '</tr>';
    $('#table_item').append(html);
    $('#table_sidebar').append(sidebar);
    i++;
});

以下是我在文本框中选择选项值的代码:

    $('#sofa').on('change', function () {
    $('#price_sofa').val(this.value);
    }).trigger('change');

我尝试按照这个JSfiddle演示:http://jsfiddle.net/JwB6z/2/

代码正在运行但是当我尝试实现我的“添加新行”功能时,它无效。

2 个答案:

答案 0 :(得分:3)

我相信这是因为没有识别出任何新行。我认为你应该把改变绑定到身体......

示例:

  File "swisshack_W2.py", line 61, in portScanner
for port in range(portRange1, ", ", portRange2):
TypeError: range() integer end argument expected, got str.

答案 1 :(得分:1)

你可以随时使用:

$('#sofa').on('change', function () {
$('#price_sofa').find(':selected').val();
}).trigger('change');

编辑:上面的内容用于获取您输入的值,如果您想要添加文字,而不是您可以随时添加的值

$('#price_sofa).find(':selected').text();

EDIT2 当您使用$('#price_sofa').val(this.value);时,您没有选择所选项,而您可以在添加的fiddle here中看到他们没有使用你使用过的功能。

希望这有帮助