我有一个带复选框列的表,每个复选框都包含一个唯一值。 可以单击任何和所有复选框。
当单击一个按钮时,我想将这些值连接到一个URL字符串,然后我将在ajax调用中使用它。
<input type="checkbox" name="product[]" value="256">
<input type="checkbox" name="product[]" value="317">
<input type="checkbox" name="product[]" value="9985">
<input type="checkbox" name="product[]" value="3751">
这就是我希望网址结束的方式:
http://example.com/data?pid=[checkbox value 1]&pid=[checkbox value 2]&pid=[checkbox value 3]
等等。
答案 0 :(得分:0)
你可以这样做:
$(function () {
var qs = '';
$('[name="product[]"]').is(':checked').each(function(index, element) {
qs += "pid=" + element.value + "&";
});
console.log(qs);
});
发布对象会更好,但如果这是您的要求,这应该可行。你可以修剪最后的&amp;如果你愿意的话。
将数据作为数组发布,这将是一个更好的解决方案:
$(function() {
var data = [];
$('[name="product[]"]').is(':checked').each(function(index, element) {
data.push(element.value);
});
console.log(data);
$.ajax({
type: "POST",
url: 'your url',
data: data,
success: success,
});
});
function success() {
}
答案 1 :(得分:0)
您可以使用解决方案https://jsfiddle.net/15Lx3gvv/
var url = 'http://example.com/data';
$('button').click(function(){
var first = 0;
$('input[name="product[]"]').each(function(i){
if( $(this).is(':checked')){
url += ((first == 0) ? "?" : "&") + 'pid=' + $(this).attr('value');
first = 1;
}
});
console.log(url);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="product[]" value="256">
<input type="checkbox" name="product[]" value="317">
<input type="checkbox" name="product[]" value="9985">
<input type="checkbox" name="product[]" value="3751">
<br/>
<button>
Submit
</button>
&#13;
checkbox
为checked
,只有这些值会附加到url
。
希望这会对你有所帮助。