我是jQuery的新手,所以我不熟悉它的语法。
我现在面临的问题是,我有一个下拉列表,其中包含一些值和相应的复选框。当有人从下拉列表中选择一个特定值,即从下拉列表中选中一个复选框时,我想将复选框的“值”添加到文本框中,该文本框除了复选框的下拉列表外。
我提出的代码是
$(".productr-dropdown li input[type='checkbox']").click(function(e){
var cmd = $(this).val();
addToTextBox(cmd);
});
function addToTextBox(cmd){
command = $(".z:eq(2)").find("#platform_Command").val();
if (command.indexOf(' '+cmd+' ')>=0)
return;
else {
// THIS IS THE NEXT PART WHERE I AM STUCK
// I don't know how to add/replace the contents of 'cmd'
// to the contents of 'command'(which is the value of the textbox)
}
}
为了更好地解释我的问题,我会在这里写一个用例, 用户从下拉列表中选中一个复选框,例如,选中的复选框的值是'abc',我要添加的文本框'abc'已经有一个值'xyz hijkl defg'。应该发生的是值'abc'应该以这样的方式添加到文本框中,即文本框的值将是'xyz abc hijkl defg'
我遇到的问题是我不确定是否也在调用正确的事件。
我想到的另一种方法是, $(document).click(function(e){ $( “productr-下拉。”)隐藏()。 $(“。productr-dropdown”)。each([“input ='checkbox':checked”],function(e){ addToTextBox($(本).VAL()); }); });
哪一个更好?
只选择下拉列表中选中的值的语法是什么?
答案 0 :(得分:1)
答案 1 :(得分:0)
$('#myTxt').val( $('#mytxt').val() + cmd )
?
答案 2 :(得分:0)
您需要从
重写command = $(".z:eq(2)").find("#platform_Command").val();
到
command = $(".z:eq(2)").find("#platform_Command");
和
if (command.indexOf(' 'cmd+' ')>=0)
到
if (command.val().indexOf(' 'cmd+' ')>=0)
这样您就可以轻松地使用以下内容来调整值
command.val(command.val() + " " + cmd);