gpt4 book ai didi

javascript - 以编程方式设置选择(多个)元素值

转载 作者:行者123 更新时间:2023-11-27 23:49:59 25 4
gpt4 key购买 nike

我想用 onclick 填充选择字段,但我不知道如何将数组过滤为仅单击按钮的值。在我的代码中,所有数组对象都会填充输入,我只希望单击的按钮的值填充输入。有什么提示吗?

<input type="hidden" id="id_user" value="{{user.id}}"> 
<select id="id_entities" class="js-example-programmatic" style="width:100%" multiple="multiple">
{% for teu in tagEntityUsers %}
<option value="{{teu.entity_id}}" class="js-programmatic-set-val">{{teu.entity}}</option>
{% endfor %}
</select>

{% for teu in tagEntityUsers %}
<tr>
<td><a href="/entities/{{teu.entity_id}}/{{teu.entity.slug}}">{{teu.entity}}</a></td>
<td><a href="{{ teu.user.get_absolute_url }}">{{teu.user}}</a></td>
<td><button id ="{{teu.entity_id}}" class="js-programmatic-set-val" value="{{teu.entity_id}}" onclick="populate_box(this.id)">add entity</button></td>
</tr>
{% endfor %}

<script>
var $example = $(".js-example-programmatic");
var arr = $.map($('.js-programmatic-set-val'), function (el) { return el.value; });
function populate_box() {
$example.val(this.arr).trigger("change"); }
</script>

最佳答案

我将向按钮 ID 添加前缀并为其设置 jQuery 监听器:

$("button[id^='prefix_']").click(function(){
value = $(this).attr('data-value');
$('#id_entities option[value="' + value + '"]').prop("selected", true).change();
});

所以,按钮将是:

<button id="prefix_{{teu.entity_id}}" class="js-programmatic-set-val" data-value="{{teu.entity_id}}">add entity</button>

UPD:上面的代码已修复,see it in action 。我强烈建议将按钮上的 value 属性更改为 data-valueread more about data-* attributes

关于javascript - 以编程方式设置选择(多个)元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32798702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com